0
我在具有相同结构(即列A,B,C)的目录中有几个xlsx文件;每个文件都是一天的数据。 我需要导入R中的所有数据,并找出一天和下一天之间的差异。在R中导入多个xlsx文件
files <- list.files(pattern = ".xlsx")
for (i in seq_along(files)) {
assign(paste("Day", i, sep = "."), read.xlsx(files[i]))
}
我想不出如何使用导入的数据。 例如
Day.1 <- data.frame(Day.1)
Day.1$A <- as.character(Day.1$A)
Day.2 <- data.frame(Day.2)
Day.2$A <- as.character(Day.2$A)
anti_join (Day.1, Day.2)
此代码工作正常,但应该如何与一个变量?
Day.[i] <- data.frame(Day.[i])
Day.[i]$A <- as.character(Day.[i]$A)
Day.[i+1] <- data.frame(Day.[i+1])
Day.[i+1]$A <- as.character(Day.[i+1]$A)
anti_join (Day.[i], Day.[i+1])
我试图导入一个数据帧中的所有文件,但我对如何使用新的数据
file.list <- list.files(pattern='*.xlsx')
days.list <- lapply(file.list, read_excel)
days <- rbindlist(days.list, idcol = "id")
days <- data.frame(days)
days$B <- as.character(days$B)
类似的问题,但我不知道如何这样做:用一个计数器变量
day1 <- filter(days, id==1)
day2 <- filter(days, id==2)
diff1 <- anti_join (day1, day2, by=c("B", "C"))
(I)
day(i) <- filter(days, id==(i))
day(i+1) <- filter(days, id==(i+1))
diff1 <- anti_join (day1, day2, by=c("B", "C"))
在SO上有很多例子可以正确地做到这一点(并且不会像使用for循环的方式将R视为Python)。您应该考虑更多地研究如何使用矢量化函数来创建大数据框,然后在几天之间轻松地进行分组和差异化。 – hrbrmstr
请包括所有'库'行作为几个方法这里不是基地R. – Parfait
库(data.table)和库(openxlsx) – Kalel