mapply与for循环的语法

时间:2017-06-14 18:06:23

标签: r loops mapply

我的目标是获取数据集,1。将其子集化,然后2.打印到.csv文件

示例数据

library(tidyverse)

mydata <- iris

数据子集的方法:

z <- (split(mydata, (as.numeric(rownames(mydata))-1) %/% 50))
str(z)

我正在尝试使用mapply而我无法正确使用语法。

mapply(write_csv(z, paste0(z,"file.csv"), col_names = FALSE)

如果我使用for循环对其进行编码,请执行以下操作:

for(i in names(z)){
  write_csv(z[[i]], paste0(i,"file.csv"), col_names = FALSE)
}

我将如何使用mapply

1 个答案:

答案 0 :(得分:1)

这应该有效:

sapply(names(z),function(x){write_csv(z[[x]],paste0(x,"file.csv"), col_names = FALSE))

与mapply它会以这种方式工作

mapply(function(x,y){write_csv(x,paste0(y,"file.csv"), col_names = FALSE)},z,names(z))