어떻게 fwf가있는 파일의 벡터를 데이터 프레임으로 읽을 수 있습니까?리터럴 데이터 (파일 아님)의 데이터 프레임이 R
지금은 두 가지 방법을 생각할 수 있지만 실제로는 더 좋은 방법이 있어야한다고 생각합니다. 어떤 생각이라도 감사합니다.
사용
data.frame()
+substring()
. 그것은 일을하지만 데이터가 "불규칙적"이라면 쉽게 일반화 할 수 없습니다 (아래 블록과 같은 블록). 나는 대답에서 그것을 얻었다 : Read fixed width text filereader에서
write_lines()
및read_fwf()
를 사용하십시오. 나는 외부 파일을 쓰는 것을 피하고 싶다. 실제로는read_fwf()
이 리터럴 데이터에서 직접 작업해야하지만 작동하지는 못합니다. 줄의 문자열/벡터를 경로로 계속 이해합니다. 같은 뭔가 :write_lines(literaldata, "fwf_sample.txt") read_fwf("fwf_sample.txt", fwf_widths(rep(8, 12)))
데이터 샘플은 오류에 이르게 코드 아래 다음과 같습니다. 사전에
literaldata <- "CHEXA 278375 2 419991 419976 418527 418528 434131 434116+ 420108 420107
CHEXA 278376 2 420028 420029 419994 419997 434168 434169+ 434134 434137
CHEXA 278377 2 419961 418516 418517 419956 434101 420119+ 420118 434096
CHEXA 278378 2 419965 418519 418520 419967 434105 420116+ 420115 434107
CHEXA 278379 2 419965 419984 420025 419971 434105 434124+ 434165 434111
CHEXA 278380 2 418521 419972 419967 418520 420114 434112+ 434107 420115"
library(readr)
lines<-read_lines(literaldata)
# The code above is just to get a reproducible example similar to the one I get in the data cleaning process
read_fwf(lines, fwf_widths(rep(8, 12)))
Error: 'CHEXA 278375 2 419991 419976 418527 418528 434131
434116+ 420108 420107CHEXA 278376 ...
감사
'read_fwf (textConnection (literaldata), fwf_widths (대표 (8,12)))'할겠습니까 응답 일? –
'read_fwf()'가 경로 이름의 리터럴 데이터를 잘못 쓰는 곳에 코드를 게시 할 수 있습니까? 게시 한 데이터에서 정상적으로 작동하기 때문입니다. –