【发布时间】:2016-03-17 18:08:16
【问题描述】:
在最后一点使用 R 之后,我不再使用 for 循环来处理所有事情,但我仍然不知道如何在不使用 for 循环的情况下循环名称。每当我处理多个事情时,我都会使用 for 循环来一次性覆盖我的所有基础。这是我会做的一个模拟示例。有没有更简单的方法来做到这一点?
names <- c("John_Doe","Jane_Doe")
employee <- vector(length = length(names))
for(i in 1:length(names)){
filename <- paste0(names[i],".csv")
employee[i] <- read.csv(filename,header = FALSE)
}
【问题讨论】:
-
我猜你可以做
names <- c("John_Doe","Jane_Doe") ; employee <- lapply(paste0(names, ".csv"), read.csv, header = FALSE)。您不需要以这种方式预定义employee。此外,paste已矢量化,因此无需将其放入循环中。