【发布时间】:2020-03-15 21:31:33
【问题描述】:
我有一个名为“dat”的数据框,其中包含 10 个数值变量(var1、var2、var3、var4、var5、…var 10),每个变量都有几个观察值…
dat
var1 var2 var3 var4 var5 var6 var7 var8 var9 var10
1 12 5 18 19 12 17 11 16 18 10
2 3 2 10 6 13 17 11 16 18 10
3 13 15 14 13 1 17 11 16 18 10
4 17 11 16 18 10 17 11 16 18 10
5 9 13 8 8 7 17 11 16 18 10
6 15 6 20 17 3 17 11 16 18 10
7 12 5 18 19 12 17 11 16 18 10
8 3 2 10 6 13 17 11 16 18 10
9 13 15 14 13 1 17 11 16 18 10
...
我想编写一个代码来对数据框中的所有变量(第一个变量除外)重复相同的函数。 该函数应使用 lm() 函数每次分析 var 1 和所有其他变量(var2、var3、var4、var5)之间的线性回归
例如 循环1:var 1和var 2之间的线性回归
lm(var1~var2, data=dat)
周期 2:var 1 和 var 3 之间的线性回归,
lm(var1~var3, data=dat)
周期 3:var 1 和 var 4 之间的线性回归
lm(var1~var4, data=dat)
等等……
我还希望将每个周期的结果保存在一个名为“results”的新数据框中,具有以下结构
Var_tested Correlation_coefficient P_value_correlation R_squared
Var2 corr_coeff_var2 p_value_var2 R_sq_var2
Var3 corr_coeff_var3 p_value_var3 R_sq_var3
Var4 corr_coeff_var4 p_value_var4 R_sq_var4
每行报告数据的每个相关性的结果。 有可能吗?
非常感谢您的帮助!
【问题讨论】:
-
你为什么要这个?为什么不一起分析所有变量的影响呢?你想破解你的出路吗?
-
每个变量 (var2, var3,var4) 表示尝试估计 var1 的不同测试的结果。我想看看哪一个有最好的相关性。在该 data.frame 中获得结果将是进行进一步分析的最佳方式......
-
亲爱的@user2974951,建议 OP 在没有澄清的情况下进行 p-hack 真的不好。 MarianoCGiglio,我认为您可以考虑在 lm(var ~.) 模型下拟合预测器(即 var1..var10)。你会看到,如果一些预测变量是相关的或有交互的,会给你一个不同的结果
标签: r loops regression