r - 回归循环
问题描述
Ciao,我有几列代表分数。我想估计每个 SCORE 是 STUDYTIME 函数的模型。所以我想运行与 SCORE 列一样多的模型,所有简单的模型都是 STUDYTIME 的函数。然后我想将 STUDYTIME 的系数存储在一个新列中,该列的行名等于 SCORE 列名。最后,我不确定如何对线性模型进行聚类,因为学生每个人都在数据中两次。
这是我的复制示例。这是我现在拥有的数据:
df <- data.frame(replicate(5, rnorm(10)))
df[1]<-c(1,1,2,2,3,3,4,4,5,5)
colnames(df) <- c('student','studytime', 'score1','score2','score3')
这是我对编码的尝试:
for (i in 1:nrow(df)) {
dfx <- df[,i]
lm <- lm(dfx[,3:5] ~ study_time)
resdat[,i] = summary(lm)$coefficients[2]
}
解决方案
您可以使用 simplelapply
和sapply
function 来做到这一点。
这是r代码:
生成数据
df <- data.frame(replicate(5, rnorm(10)))
df[1]<-c(1,1,2,2,3,3,4,4,5,5)
colnames(df) <- c('student','studytime', 'score1','score2','score3')
存储结果
Results <- lapply(df[, -c(1,2)], FUN = function(x) lm(x ~ df$studytime))
Coef <- sapply(Results, FUN = coefficients)
推荐阅读
- c# - 使用 SimpleHtml5Sanitizer C# 清理 JSON 后 JSON 不正确
- swift - Helo 在 xcode 中的调试器上,使用 swift 和 swiftUI 5
- php - 从另一个表 SQL 的值更新列值
- visual-studio-code - VSCode cmd + 单击 goto 实现而不是定义
- reactjs - React - 日期以两种不同的方式显示
- python - Square Up python API 创建支付
- ios - 如何在swift ui watch os中的同一屏幕中添加键盘和文本字段
- javascript - 比较两个 json 对象并附加唯一项
- java - JAVA中String到Int array[]的转换大小问题
- reactjs - 如何从 React JS 中的列表数据生成多页 pdf