【发布时间】:2014-12-29 17:23:20
【问题描述】:
我已经使用 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 文件中?
【问题讨论】:
-
可能类似于
lapply(seq_along(list), function(i) { write.csv(list[[i]], sprintf("%d.csv", i), row.names = FALSE) })如果您希望文件名都具有相同的统一字符长度,您可以使用sprintf("%03d.csv", i) -
这行得通!但是,导出的文件仅以数字命名(例如,1 - 100)。有没有办法在导出的文件名中保留原始主题编号?
-
是的,使用 names() 代替 seq_along()。
标签: r export-to-csv lapply