r - 拆分、应用线性模型、组合

标签 r list split lapply lm

<分区>

我有一个数据框如下:

df

Date       Hour ID Par1  Par2  Par3 
08-01-15     0   A   2    3      4
08-01-15     0   B   4    5      6 
08-01-15     1   N   2    9      10
08-01-15     1   A   3    7      23
08-01-15     1   B   4    7      22
08-02-15     0   E   2    4      12
08-02-15     0   A   3    7       9

所以我想按小时拆分此数据框,如下所示:

splitdata<-split(df<-split(df, df$Hour)

拆分后,我想对拆分后的数据集应用线性模型。

result <- lapply(splitdata, function(df){
  lm1 <-lm(Par1~Par2,data=df)
  summary <- (lm1$summary)
  data.frame(as.list(summary))
})
result

我的结果没有显示任何内容。尽管如果我将摘要更改为:

summary <- (lm1$coef)
data.frame(as.list(summary))

然后它会产生一个结果。

所以主要问题是,如何按小时获取每个线性模型的摘要列表,而不仅仅是系数?

谢谢!

最佳答案

尝试使用 nlme 中的 lmList

library(nlme)
fits <- lmList(Par1 ~ Par2 | Hour, data=df)

这会按小时拆分数据并为您拟合线性模型。然后,您可以执行 summary(fits)。或者,您可以单独查看每个摘要

lapply(fits, summary)

关于r - 拆分、应用线性模型、组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31838153/

相关文章:

R 函数将数字 (23) 转换为英文 ("twenty-three")

python - 编辑列表中每第 N 项的值

c# - 为什么 WhereSelectArrayIterator 不实现 ICollection?

c# - StringSplitOptions.RemoveEmptyEntries 不像宣传的那样工作

java - 正则表达式在空格和换行符上分割文本?

r - 如何在 R Shiny 应用程序中对齐 downloadButton 和 ActionButton?

r - 如何使用 dplyr 中的 mutate 创建一系列由指定突变值的向量定义和调用的列?

python - 减去 boolean 列表

python - 通过渲染变量的中间来修改django模板中的变量

r - 当输入更改(例如,选项卡更改)时,我如何告诉我的 modalDialog 自动关闭?