2017-06-14 4 views
0

Mein Ziel einen Datensatz zu nehmen ist, 1. Teilmenge es und 2. Druckdateien in CSVSyntax für mapply vs for-Schleife

Beispieldaten

library(tidyverse) 

mydata <- iris 

Methode Daten der Teilmenge:

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

Ich versuche, Mapply zu verwenden, und ich kann nicht die Syntax richtig.

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

Wenn ich es mit einer for-Schleife hier codieren waren ist, wie ich es tun würde:

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

Wie würde ich mich über mapply mit?

+0

Sie sapply oder lapply (für Ihren Zweck gleiche Ergebnis) wollen arbeiten –

Antwort

1

Wth sapply sollte diese Arbeit:

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

mit mapply würde es auf diese Weise

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

ich nicht 'sapply bekommen könnte 'zu arbeiten, aber' Mapply' hat perfekt funktioniert. –