我已经使用lapply将函数应用于多个数据帧:
data.cleaned <- lapply(data.list, shooter_cleaning)
然后根据其主题编号(例如100)在列表中标记每个结果数据帧:
names(data.cleaned) <- subject.names
我要做的是根据主题编号将每个新数据帧另存为一个单独的.csv文件。例如,对于主题100,我希望将.csv文件标记为“100.csv”。通常要这样做(对于单个数据帧),我只会写(其中x是数据帧):
write.csv(x, "100.csv", row.names = F)
但是,显然,使用lapply对我的数据帧列表执行此操作只会产生“100.csv”的许多副本,而我却希望文件根据其主题号是唯一的。如何(适用于?)将这些数据帧中的每一个保存到它们自己的唯一.csv文件中?
最佳答案
这是Richard的注释中的self-contained example,但是使用列表中数据框的名称作为CSV文件的文件名:
# Create a list of n data frames
n <- 10
my_list <- lapply(1:n, function(i) data.frame(x = rnorm(10), y = rnorm(10)) )
# name the data frames
names(my_list) <- letters[1:n]
# save each new data frame as an individual .csv file based on its name
lapply(1:length(my_list), function(i) write.csv(my_list[[i]],
file = paste0(names(my_list[i]), ".csv"),
row.names = FALSE))
关于r - 使用R将多个数据帧写入.csv文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26707724/