2017-04-30 5 views
0

내 R 환경에서 데이터의 일련의 프레임이 같은 2D 파일을 인식 read.table 유발 다음 I는 읽어 가지고R : 첫 번째 행의 두 번째 열에서 값이 부족 1D

x <- list.files(pattern="nuc_occupancy_region"); 

for(i in seq_along(x)){ 
    print(x[i]) 
    assign(paste(x[i]), read.table(x[i], sep='\t', header=T, fill=T)) 
} 

ESC=ls()[grep(ls(), pattern='ESC_nuc')] 
MEF=ls()[grep(ls(), pattern='MEF_nuc')] 

MEF 파일 목록에 데이터가 누락 된 경우가 종종 있습니다 : 예. 누락 된 값이 NA의로 읽을 수 있습니다 내가 나중에 다룰 수있는 명령 줄

head MEF_nuc_occupancy_regionCybb9049012-9053217chrX.txt 
9049012 26 
9049013 
9049014 29 
9049015 
9049016 26 
etc. 

위의 파일에서

문제가되지 않습니다.

그러나 타인의 첫 번째 행의 두 번째 값이 누락 .... 각 파일의 첫 번째 행의 제 2 값의 부족을 2 열을 갖는다는 사실에도 불구하고 매우

117755994 
117755995 
117755996 
117755997 6 
117755998 6 
117755999 6 

read.table(example.txt, sep='\t', header=T, fill=T) 

117755994 
117755995 
117755996 
117755997 
6 
117755998 
6 
117755999 
6 

내가 2D에있을 모든 데이터 프레임을 필요에 따라이를 방지하기 위해 어떤 방법이 있나요 : 그들 중 일부는 그들을 하나의 열이있는 파일로 인식되는 원인은? 감사

+0

이 필요 같은데 –

+0

어쩌면 지정하지 않고 그것을 시도' sep = '\ t''? 'header = FALSE, fill = TRUE'로 두번째 코드 블록의 텍스트 위에'read.table'을 실행 시켰을 때 구분 기호에 관한 내용이 없으면 원하는 결과를 얻었습니다. – ulfelder

+0

파일의 길이가 모두 같고 파일이'readr' (또는 tidyverse) 패키지의'read_fwf'를 보면, – epi99

답변

0

내가 가지고 그냥 일종의 그것을 '의 readlines()'열 번호에 대한 편견이다 파이썬으로 : '= FALSE 드롭'

import os 
list=os.listdir('.') 
counter=0 
files=[] 
for i in list: 
    file=open(i, 'r') 
    print file 
    lines=file.readlines() 
    file.close() 
    corrected=open(i+'formatted', 'a') 
    print lines[0:9] 
    for line in lines: 
     line=line.rstrip('\n') 
     line=line.split() 
     if len(line)<2: 
      line.append(0) 
      corrected.write("{}\t{}\n".format(line[0], line[1])) 
     else: 
      corrected.write("{}\t{}\n".format(line[0], line[1])) 
    corrected.close()