微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

R中的分组表示

如何解决R中的分组表示

我正在尝试进行多元线性回归,但所有分组变量的系数都相同

names<- rep(LETTERS[1:25],each = 20)
daysp<- runif(1:500,1,500)
startdate <-sample(seq(as.Date('1999/01/01'),as.Date('2020/01/01'),by="day"),500)
enddate<- sample(seq(as.Date('2010/01/01'),500)
class <- rep(LETTERS[1:4],each = 125)
amt<- runif(1:500,10000,500000)
2ndclass <- rep(LETTERS[5:8],each = 125)
df<-data.frame(names,daysp,startdate,enddate,class,amt,2ndclass)

已更改为因子类和第二类

fitted_models = df %>% group_by(names) %>% do(model = lm(daysp ~ startdate + enddate
+ class + 2ndclass + amt,data=df))

fitted_models$models

我该如何进行回归并为每组获取不同的系数?

解决方法

data = df显式使用整个数据框df,忽略任何分组。使用.引用通过管道传输的数据,这将使do使用组。请参阅?do底部的示例以供参考:

## From ?do
by_cyl <- mtcars %>% group_by(cyl)
models <- by_cyl %>% do(mod = lm(mpg ~ disp,data = .))

尽管dplyr> 1.0的版本将更喜欢使用nest_by(也在?do帮助页面上进行了演示):

models <- mtcars %>%
  nest_by(cyl) %>%
  mutate(mod = list(lm(mpg ~ disp,data = data)))

models %>% summarise(broom::tidy(mod))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。