在R中使用dplyr对数据子集进行多元回归
我有一个数据帧“DF”,上面有这个在R中使用dplyr对数据子集进行多元回归,r,regression,dplyr,R,Regression,Dplyr,我有一个数据帧“DF”,上面有这个scape(): 对于每个测试,我希望使用数据的子集对“值”进行建模: 函数:Value~x+y 数据:(x,y)/00)&(x0)&(y% do(mod=lm(值~x+y,数据=,子集=foo)) 要生成预测值,请尝试以下操作: predict <- results %>% do(data.frame(pred = predict(.$mod), Test = .[["Test"]])) predict% do(data
scape()
:
对于每个测试,我希望使用数据的子集对“值”进行建模:
dplyr
。然而,我找不到这样做的方法。这是我最后一次尝试:
DF %>%
group_by(Test) %>%
do({
mod = lm(Value ~ x + y, data = (. %>% filter((x > 0) & (x < 6) & (y > 0) & (y < 6))))
print(mod)
Pred <- predict(mod, .)
data.frame(. , Pred)
})
glimpse()
DF%>%
组别(测试)%>%
做({
mod=lm(值~x+y,数据=(.%>%过滤器((x>0)&(x<6)&(y>0)&(y<6)))
打印(mod)
Pred使用lm
函数的subset
参数
results <- DF %>%
group_by(Test) %>%
do(mod = lm(Value ~ x + y, data = ., subset = foo))
结果%
组别(测试)%>%
do(mod=lm(值~x+y,数据=,子集=foo))
要生成预测值,请尝试以下操作:
predict <- results %>%
do(data.frame(pred = predict(.$mod), Test = .[["Test"]]))
predict%
do(data.frame(pred=predict(.$mod),Test=.[“Test”]]))
将过滤器保留在分组依据之前
:
mtcars %>%
filter(vs==0) %>%
group_by(cyl) %>%
do({
mod = lm(mpg ~ wt + qsec, data = .)
Pred <- predict(mod)
data.frame(Pred)
})
我想我已经有了一个答案,这与我的尝试很接近:
results <- mtcars %>%
group_by(cyl) %>%
do({
mod = lm(mpg ~ wt + qsec, data = filter(., vs == 0))
print(mod)
Pred <- predict(mod, .)
data.frame(. , Pred)
})
print(results, n=100)
结果%
组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别
做({
mod=lm(mpg~wt+qsec,data=filter(,vs==0))
打印(mod)
Pred
mtcars %>%
filter(vs==0) %>%
group_by(cyl) %>%
do({
mod = lm(mpg ~ wt + qsec, data = .)
Pred <- predict(mod)
data.frame(Pred)
})
lapply(split(mtcars,mtcars$cyl), function(i){
mod <- lm(mpg ~ wt + qsec, i[i$vs == 0,])
Pred <- predict(mod)
data.frame(Pred)
})
results <- mtcars %>%
group_by(cyl) %>%
do({
mod = lm(mpg ~ wt + qsec, data = filter(., vs == 0))
print(mod)
Pred <- predict(mod, .)
data.frame(. , Pred)
})
print(results, n=100)