【发布时间】:2020-08-31 21:28:46
【问题描述】:
我试图找到一种在 r 中执行嵌套 for 循环的方法,以获得所有可能的相关组合:
cor(y, column1* column2),
cor(y, column1* column3),
cor(y, column1* column4)
等等
这是我迄今为止尝试过的:
for(i in 1:length(dataframe))
{
for(j in 1:length(dataframe))
{
joint_correlation(i,j)=cor(y ~ dataframe(i) * dataframe(j));
}
}
我的数据框有 115 列,如小样本所示:
FG_pct FGA FT FT_pct FTA GP GS GmSc MP ORB
0.625 8 0 0.00 0 1 0 6.6 28.4 2
0.500 4 0 0.00 1 2 0 2.1 17.5 0
0.000 1 0 0.00 0 3 0 1.2 6.6 1
0.500 6 0 0.00 0 4 0 3.6 13.7 1
0.500 2 0 0.00 0 5 0 0.9 7.4 1
我想找到cor(MP, column1* column2) 的相关性,以便为column1 和column2 切换出每个可能的组合。这样,我就不必分别做每一个。如果可能,我想将每个相关组合cor(MP, column1* column2)、cor(MP, column1* column3)、cor(MP, column2* column4) 等的输出保存在单独的列中。
这是我想要的一个例子: cor(MP, FG_pct*FT_pct)
【问题讨论】:
-
等等,什么相关?语法
cor(y ~ var1*var2)在 R 中无效(dataframe(i)也不是)。你想做什么?例如,如果你只是想要相关矩阵,你可以做cor(dataframe) -
我想做 cor(MP ~ column1*column2), cor(MP ~ column1*column3), cor(MP ~ column1*column4), cor(MP ~ column2*column3), cor( MP ~ column2*column4),以此类推。我想获得 column1*column2 的每一个组合,因为我的数据框中有 115 列。
-
cor(MP ~ column1*column2)应该是什么意思?如前所述,这不是有效的语法。 -
在 r 中,尝试运行 cor(MP ~ FGA*ORB)。你会得到一个输出。我想要 MP 与 column1*column2 的相关性。我希望输入每一列。你提供的不是循环。
-
呃,不。它会产生错误。您是否加载了隐藏默认
cor的包?
标签: r loops nested-loops correlation