0
데이터 프레임을 만들고 파일 이름과 함께 다음 코드를 사용하여 추가 csv 파일을 읽습니다.파일 이름을 추가하지 않으면 'rbind'와 'lapply'가 제대로 작동합니다.
wd <- "Working directory"
file_list <- list.files(wd)
### Function: read data ###
read_data <- function(file){
d <- read.csv(paste(wd,file,sep=""), stringsAsFactors = FALSE, strip.white = TRUE, na.strings = c("NA","")); # read in every file in the working directory
d$FileName <- substr(file,20,29); # append part of file name
d # return the dataframe
}
### Call rbind: merge data ###
df <- do.call(rbind, lapply(file_list,read_data))
그러나이 오류가 달려 온다 : 내가 잘못 뭐하는 거지
Error in `$<-.data.frame`(`*tmp*`, "FileName", value = "2016010209") :
replacement has 1 row, data has 0
?
건배
"2016010209"에 해당하는 파일에 헤더 만 있고 데이터가 없을 수 있습니까? – Roland
'print_' 또는'message' 문을'read_data' 함수에 추가하여 어떤 파일이 문제를 일으키는 지 먼저 찾아보십시오. 실제로 예상되는 형식의 파일을 검사하십시오. –
IMHO'setwd (wd)'작업 디렉토리를 설정하는 것이 더 좋습니다. 이 경우 일부 부분에서 스크립트를 변경해야합니다. – jogo