我想在数据框中使用单个解释变量来解释许多其他变量的变化。数据框如下所示:
df:
explanatory_var dep_var_1 dep_var_2 dep_var_3
1 1.05 1.75 1.98
7 3.8 2.1 9.5
4.5 2 1.9 4在伪代码中,我想:
fit_df$coefficient <- lm((dep_var_1, dep_var_2, dep_var_3) ~ explanatory_variable, na.action = na.exclude)$coefficient
fit_df$intercept <- lm((dep_var_1, dep_var_2, dep_var_3) ~ explanatory_variable, na.action = na.exclude)$intercept
fit_df$coefficient_significance_code <- lm((dep_var_1, dep_var_2, dep_var_3) ~ explanatory_variable, na.action = na.exclude)$coefficient_significance_code
fit_df$intercept_significance_code <- lm((dep_var_1, dep_var_2, dep_var_3) ~ explanatory_variable, na.action = na.exclude)$intercept_significance_code所以我最终得到了这样的东西(数据完全是虚构的,不符合上面的情况,只是一个例子)
fit_df:
variable coefficient intercept coefficient_significance_code intercept_significance_code
dep_var_1 .35 0.5 *** ***
dep_var_2 .5 0.75 *** ***
dep_var_3 .43 1.0 *** ***我有一个我认为与这个问题相反的东西:Using R's lm on a dataframe with a list of predictors
答案似乎与此相关:Repeat regression with varying dependent variable,但我不是在创建我的数据框,也不是在寻找ls均值。
发布于 2018-03-13 14:50:08
如果您使用单个解释变量来解释多个因变量的变化,则manova可能更适合于该任务。
使用你的数据,它可能是这样的:
exp_var <- c(1, 7, 4.5)
dep_var_1 <- c(1.05, 3.8, 2)
dep_var_2 <- c(1.75, 2.1, 1.9)
dep_var_3 <- c(1.98, 9.5, 4)
df <- data.frame(exp_var, dep_var_1, dep_var_2, dep_var_3)
model <- manova(cbind(dep_var_1,dep_var_2,dep_var_3) ~ exp_var, data = df)
summary(model)顺便说一句,没有足够的观察结果来运行该代码,这将导致错误。我希望你的数据集有足够的观察结果。希望这能有所帮助!
https://stackoverflow.com/questions/49249643
复制相似问题