Синтаксис для 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))
Другие вопросы по тегам