Verwenden purrr::map-Anwendung mehrere Argumente an eine Funktion

Habe ich einen Daten-frame, wie dies

   df <- data.frame(tiny = rep(letters[1:3], 20), 
                  block = rnorm(60), tray = runif(60, min=0.4, max=2),
                  indent = sample(0.5:2.0, 60, replace = TRUE))

Ich diese verschachtelten Daten-frame

nm <- df%>%
       group_by(tiny)%>%
       nest()

schrieb dann diese Funktionen

library(dplyr)
library(purrr)
library(tidyr)

model <- function(dfr, x, y){
             lm(y~x, data = dfr)
         }

model1 <- function(dfr){
           lm(block~tray, data = dfr)
          }

Möchte ich Sie dieses Modell für alle kleinen Klassen, so habe ich

 nm%>%
   mutate(
     mod = data %>% map(model1)
   )

der obige code funktioniert einwandfrei, aber wenn ich will, zu liefern, die Variablen als Argumente, wie ich Sie habe in der model1 Funktion, bekomme ich Fehler. Dies ist, was ich tun

 nm%>%
    mutate(mod = data %>% map(model(x=tray, y=block)))

Ich erhalte die Fehlermeldung
Error in mode(x = tray, y = block) : unused argument (y = block).

Auch ich habe versucht, Plotten Sie diese mit Hilfe ggplot2

plot <- function(dfr, i){
    dfr %>%
    ggplot(., aes(x=tray, y=block))+
geom_point()+
xlab("Soil Properties")+ylab("Slope Coefficient")+
ggtitle(nm$tiny[i])

nm%>%
 mutate(put = data %>% map(plot))

die Idee ist, dass ich will ggplot zu setzen Titel eine, b, und c für jeden der plots erzeugt werden.
Jegliche Hilfe würde sehr geschätzt werden. Dank

  • sieht nicht wie model1() ist definiert alle Parameter, die
  • Es hat nicht funktioniert. Ich habe den Fehler Error: is.data.frame(.data) || is.list(.data) || is.environment(.data) is not TRUE
  • Sie eines Tages Kinder aufhören zu versuchen, zu pipe alles
InformationsquelleAutor Kay | 2017-02-28
Schreibe einen Kommentar