回归循环
Regression loops
再见,我有几列代表分数。我想估计每个 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]
}
您只需使用 lapply
和 sapply
函数即可完成此操作。
这是 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)
再见,我有几列代表分数。我想估计每个 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]
}
您只需使用 lapply
和 sapply
函数即可完成此操作。
这是 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)