2017-06-14 189 views
0

我的目標是取一個數據集,1子集,並2.打印爲.csv文件語法mapply VS for循環

實例數據

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

+0

你想sapply或lapply(相同的結果你的目的) –

回答

1

問心無愧sapply這應該工作:

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)) 
+0

我不能得到'sapply '工作,但'mapply'完美運作。 –