나는 큰 지저분한 데이터 파일 :R -이처럼 보일 행렬 또는 데이터 프레임에 비대칭 데이터 파일을 변환
1 2 3 4 5 6 7 8 . .
aa bb ccc d eee ffff gg h i jj
6 6 5 1 2 3 4 5i 734
33 44x 1234 12 1 9 888 345 12 987765
대부분을, 전부는 아니지만는 데이터 파일의 라인은 같은 수의 원소를 가지고있다. 그러한 데이터 파일을 읽고 매트릭스 또는 데이터 프레임으로 변환하는 가장 좋은 방법은 무엇입니까?
나는 readLines
을 사용하여 파일을 읽었습니다. 또한
, 나는 다음과 같은 세 가지 라인을 사용하여 비대칭 목록 행렬로 변환 할 수 있습니다 내 이전 질문 중 하나에 대한 답변에서 알고
R: convert asymmetric list to matrix - number of elements in each sub-list differ
max.len <- max(sapply(my.data, length))
corrected.list <- lapply(my.data, function(x) {c(x, rep(NA, max.len - length(x)))})
mat <- do.call(rbind, corrected.list)
을
나는 어쩌면 생각
- 는
readLines
- 분할 각 행과 데이터 파일을 읽어 수 데이터는 별도의 요소로 설정하고
- 가 목록에 설정된 모든 데이터를 변환하고
- 매트릭스 그러나
을 만드는 상기 세 개의 선을 사용하여, I는 2 단계에 박히 요소 간의 빈 공간 수가 다양하기 때문에 각 선을 개별 요소로 분할하는 방법을 이해할 수 없습니다. 또한 제안 된 4 단계 전략이 효율적이지 않다고 생각합니다.
이 문제에 도움을 주셔서 감사합니다.
수정
죄송합니다. 원하는 결과를 게시하는 것을 잊어 버렸습니다.
1 2 3 4 5 6 7 8 . .
aa bb ccc d eee ffff gg h i jj
6 6 5 1 2 3 4 5i 734 NA
33 44x 1234 12 1 9 888 345 12 987765
정확히 무슨 위의 데이터는 R에있을 때처럼 하시겠습니까? –