각기 300 개의 CSV 파일이있는 폴더가 있으며 각 파일에는 헤더가있는 데이터 프레임이 들어 있습니다. 이름은 001.csv
002.csv
입니다. 모든 파일은 동일한 네 개의 열 (Date
, sulfate
, nitrate
및 ID
)이지만 관찰 수는 다양합니다.VSC 파일을 하나의 데이터 프레임으로 병합하는 기능보다
사용자가 하나 또는 모든 범위의 파일을 선택하고 병합 된 파일의 모든 데이터를 유지하면서 하나의 데이터 프레임으로 병합 할 수있는 기능을 만들고 싶습니다. 중복 찾기 등). 내가 병합이라고 말하면, 새로운 병합 된 데이터 프레임에는 두 파일의 관찰 결과가있는 네 개의 열이 여전히 남아 있음을 의미합니다. (:, 1
로드 할 파일 001.csv
274
로드 274.csv
및 20:100
파일을로드 100.csv
을 통해 020.csv
파일 예) 다음
는 directory
이 파일의 위치이고 id
로드 할 파일을 지정합니다 내가 지금까지 한 일이다.
저는 하나의 파일을로드 할 때만 작동합니다. 범위를로드하려면 빈 데이터 프레임이 필요합니다. 예를 들어, 내가 실행하는 경우 :
specdata
이 파일이있는 및
1:10
는 내가 새로운 데이터 프레임 (
newDF
) 0과를 얻을, 처음 10 개 파일을로드 할 의미있는 폴더의 이름입니다
newDF <- getfile3("specdata", 1:10)
관측 및 3 변수 : V1
, V2
, y[FALSE,]
(및 row.names
).
원본 파일의 4 가지 변수가있는 7,304 개의 관찰이 있어야합니다.
문제는 내 for
루프에 있습니다. (`newDF <-do.call :
하지만 당신은 같은 것을 사용하여 한 번에 모든 파일을로드 할 수 있습니다 rbind, lapply (list.files (path = "~/specdata", pattern = "* .csv"), read.csv, header = TRUE, sep = ","))' – BlankUsername
if numOfFiles! = 2. 그것을 읽고 나서 병합해야합니다. – infominer
이것은 숙제이며 그렇게 표시되어야합니다. 사실, 저는 지금 같은 숙제를하고 있습니다 ... 그것은 JHU의 Coursera의 "R programming"수업에서 나온 것입니다. – grisaitis