에 대한
data.files
data.files <- list.files(pattern = ".xlsx")
data.list <- lapply(data.files, function(x){
y <- read_xlsx(x,skip = 1)})
data.list <- lapply(data.list, function(x) {
x[c(1:(nrow(x)-3)),]})
#combind lists to one data frame
data.df <- bind_rows(data.list)
덕분에 나는 개인적으로 이것에 대한 data.table
패키지에서 rbindlist
을 사랑 해요.
library(data.table)
data.files <- list.files(pattern = ".xlsx")
# extract the date from each filename
data.dates <- sub("^Filename(.*)\\.xlsx$", "\\1", data.files)
# import the data, removing the last 4 rows
data.list <- lapply(data.files, function(x) {
res <- read_xlsx(x, skip = 1)
res <- res[ seq_len(nrow(res)-3), ]
return(res)
})
# set the list item names as the dates
data.list <- setNames(data.list, data.dates)
# combine the data, keeping the dates as a column
data.df <- rbindlist(data.list, idcol = "date")
EDIT (테스트하지 코드, 그래서 제가 여기에 오타 또는 코드 오류를 넣어 한 경우 알려 주시기 바랍니다) : bind_rows()
는 .id
매개 변수가 같은 당신이 선호하는 경우에 당신이 그 막대기 수 있도록이 보인다 . 위와 같은 방법으로 idcol
대신 bind_rows
대신 .id
을 사용하면 rbindlist
이됩니다.
data.list 단계를 입력하여 데이터를 가져오고 맨 아래 행을 제거 할 때. res <- 결과 [seq_len (nrow (res) -3)] FUN (X [[i]], ...) 오류 : '결과'개체를 찾을 수 없습니다. –
죄송합니다. 오타입니다. 지금 고칠 것입니다. – rosscova
그래, 내 대답을 편집하려했으나 너무 늦었습니다. 어제 깨닫고 답변으로 표시 한 이유를 고쳤습니다. 감사합니다. –