2015-01-20 4 views
1

첫 번째 질문/게시, 잘하면 나는 이것을 복제하지 않았지만 내가 생각할 수있는만큼 많은 단어를 검색했습니다. 이것은 "doh"순간이 될 것이라고 확신합니다. 그러나 여기에 있습니다 :여러 CSV 파일을 합치고 합치십시오 R

R을 사용하여 저는 두 개의 열로 구성된 100 개의 .csv 파일을 입력하려고합니다. 예 :

Col1 Col2 
Type A 11:20:15 
Type B 29:40:34 
Type C 45:13:26 

나는 모든 시간의 합으로 하나의 DF를 생성하는 폴더에있는 모든 파일을 병합하기 위해 노력하고있어,하지만 난 빈 그리기있어 정말로 또는 솔루션을 찾아 마우스 오른쪽 기능에 대한 지침을 주셔서 감사합니다

files = list.files(pattern="*.csv") 
    fileno <- length(files) 

    for (i in 1:fileno){ 
    assign(files[i], read.csv(files[i])) 
    ###Code to Read each "time" and Sum with current 
    # TotalDF <- Time Value from Current loaded CSV "Summed" to TotalDF 
    } 
01 : 나는에있어 그 다음에

입니다 23,516,

나는 두 개의 파일이 있다면 :

Col1 Col2 
Type A 11:20:15 
Type B 29:40:34 
Type C 45:13:26 

Col1 Col2 
Type A 5:00:00 
Type B 3:00:00 
Type C 8:00:00 

그런 다음 TotalDF은 다음과 같습니다

Col1 Col2 
Type A 16:20:15 
Type B 32:40:34 
Type C 53:13:26 
+0

당신은 당신이보고 [여기] (http://stackoverflow.com/questions/27747716/how-to-merge-을 가질 수,'merge'는 R에 무엇을 의미하는지 의미에서 병합하고 싶었다면 다중 - 엑셀 - 파일). –

답변

2

당신은 목록에 그들 모두를로드하고 줄 사용할 수 있습니다.

# define a vector with the file paths 
nameFolder <- "data" 
vectorFiles <- list.files(nameFolder, full.names = TRUE) 

# load each file and change the name of the second column 
listDf <- lapply(vectorFiles, function(fileName){ 
    dfFile <- read.csv(fileName) 
    names(dfFile)[2] <- fileName 
    return(dfFile) 
}) 

# merge the data frames on the column Col1 
dfMerged <- Reduce(function(...) merge(..., by = "Col1"), listDf) 
+0

그게 거의 완벽 하네, 고마워, 내가 필요로하는 곳으로 나를 가져온다. 칼럼 [2]을 총합으로 합쳐야 만하지만, 나는 그 자신을 학습 운동으로 해결하려고 노력할 것이다. – NoobMat

+0

@NoobMat, 이것이 답변이 도움이 될 경우 질문에 대한 답변으로 표시하십시오. –

+1

안녕하세요. 리차드, 감사합니다. 그렇게 해 보았습니다.하지만 값을 결합하는 데 실패했을 때 돌아갈 권리를 보유하십시오. o) 첫 번째 SO 투자에 대한 모든 도움에 감사드립니다! – NoobMat