您可以将csv写入过程 Package 在一个定制函数中,如下所示:注意,该函数必须返回data.frame,否则将返回错误Error: Results are not data frames at positions 这将返回名为“mtcars_cyl_4.csv”、“mtcars_cyl_6.csv”和“mtcars_cyl_8.csv”的3个csv文件
require(data.table)
# Because this is a built in table we have to make a copy first
mtcars <- mtcars
setDT(mtcars) # convert the data into a data.table
mtcars[, write.csv(.SD, paste0("mtcars_cyl_", .BY, ".csv")), by = cyl]
4条答案
按热度按时间wfsdck301#
对于
dplyr_0.8.0
,可以使用group_by
和group_walk
完成此操作tsm1rwdh2#
您可以将csv写入过程 Package 在一个定制函数中,如下所示:注意,该函数必须返回
data.frame
,否则将返回错误Error: Results are not data frames at positions
这将返回名为“mtcars_cyl_4.csv”、“mtcars_cyl_6.csv”和“mtcars_cyl_8.csv”的3个csv文件
0ve6wy6x3#
下面的工作原理(您可以跳过自定义函数)
ubbxdtey4#
如果您愿意使用data.table,有一种稍微不那么笨拙的方法。
注意,结果表中没有cyl列(这是多余的,因为它存储在文件名中,但可能出于其他原因而希望保留它)。
如果希望cyl作为列包含在输出中,可以使用