mapply 与 for 循环的语法
Syntax for mapply vs for loop
我的目标是获取一个数据集,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
?
对于 lapply 这应该有效:
sapply(names(z),function(x){write_csv(z[[x]],paste0(x,"file.csv"), col_names = FALSE))
使用 sapply 它会以这种方式工作
mapply(function(x,y){write_csv(x,paste0(y,"file.csv"), col_names = FALSE)},z,names(z))
我的目标是获取一个数据集,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
?
对于 lapply 这应该有效:
sapply(names(z),function(x){write_csv(z[[x]],paste0(x,"file.csv"), col_names = FALSE))
使用 sapply 它会以这种方式工作
mapply(function(x,y){write_csv(x,paste0(y,"file.csv"), col_names = FALSE)},z,names(z))