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))
数据帧嵌套在我这个数据帧
nm <- df%>%
group_by(tiny)%>%
nest()
然后写这些功能
library(dplyr)
library(purrr)
library(tidyr)
model <- function(dfr, x, y){
lm(y~x, data = dfr)
}
model1 <- function(dfr){
lm(block~tray, data = dfr)
}
我想运行这个模型的所有小类,所以我做了
nm%>%
mutate(
mod = data %>% map(model1)
)
上面的代码工作正常,但如果我想提供变量作为参数,如我在model1
函数中,我会得到错误。这是我做
nm%>%
mutate(mod = data %>% map(model(x=tray, y=block)))
我不断收到错误 Error in mode(x = tray, y = block) : unused argument (y = block)
。
我也尝试过使用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))
的想法是,我想ggplot
把标题绘制这些一个,b和ç每个将要产生的地块。 任何帮助将不胜感激。谢谢
看起来并不像'MODEL1( )'被定义为采取任何参数 – Nate
@PierreLafortune,它没有工作。我得到错误'错误:is.data.frame(.data)|| is.list(.data)|| is.environment(.data)不是TRUE' – Kay
有一天,你的孩子将停止尝试管道的一切 –