Синтаксис для 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 ответ
Решение
Это должно работать:
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))