我是R的新手,但我正在慢慢学习分析数据集。
假设我有一个包含8个变量和20个观测值的数据框。在8个变量中,V1 - V3是预测变量,V4 - V8是结果。
B = matrix(c(1:160),
nrow = 20,
ncol = 8,)
df <- as.data.frame(B)
使用car
包来执行简单的线性回归,显示摘要和置信区间为:
fit <- lm(V4 ~ V1, data = df)
summary(fit)
confint(fit)
如何编写代码(loop
或apply
)以便R单独回归每个结果的每个预测变量并提取系数和置信区间?我意识到我可能在跑步之前试图跑步,但任何帮助都会非常感激。
答案 0 :(得分:0)
你可以将你的线包裹在一个lapply调用中,并为每个预测器训练一个线性模型(当然不包括目标)。
my.target <- 4
my.predictors <- 1:8[-my.target]
lapply(my.predictors, (function(i){
fit <- lm(df[,my.target] ~ df[,i])
list(summary= summary(fit), confint = confint(fit))
}))
您获得了一份清单。
答案 1 :(得分:0)
因此,我自己的数据中返回错误的代码是:
my.target <- metabdata[c(34)]
my.predictors <- metabdata[c(18 : 23)]
lapply(my.predictors, (function(i){
fit <- lm(metabdata[, my.target] ~ metabdata[, i])
list(summary = summary(fit), confint = confint(fit))
}))
返回:
Error: Unsupported index type: tbl_df