r中的分组相关环
我想计算Col1和每个组的所有其他列之间的相关性。我的输入数据集如下所示:r中的分组相关环,r,loops,correlation,R,Loops,Correlation,我想计算Col1和每个组的所有其他列之间的相关性。我的输入数据集如下所示: Group1 Col1 Col2 Col3 Col4 A 3 1 0 1 A 8 0 1 0 B 4 1 1 1 B 2 1 0 1 我会想象我的输出数据集看起来像这些数字是假的,但代表了相关性 Group Col1CorCol2 Col1CorCol3 Col1CorCal4 A .
Group1 Col1 Col2 Col3 Col4
A 3 1 0 1
A 8 0 1 0
B 4 1 1 1
B 2 1 0 1
我会想象我的输出数据集看起来像这些数字是假的,但代表了相关性
Group Col1CorCol2 Col1CorCol3 Col1CorCal4
A .7 .3 1
B 0 .4 .6
顺便说一下,Col1是连续的,Col2、Col3和Col4是二进制的。还缺少一些值
感谢您的帮助。使用data.table的选项
您可以在?cor中指定“使用”选项以删除缺少的值
编辑:以下是给出错误信息的数据:
您可以使用其中一种应用系列解决方案tsapplysplitdf1、df1$Group1、functionx sapply3:ncolx、functioni{x1我接受了你的建议,尝试使用这个选项;我写道:res@blast00你能发布一个显示此错误的小数据集的dput吗?这是一张显示此错误的数据集的图片:@blast00一张图片没有用,因为我无法复制数据。最好是dput,我认为我在删除一些u无选择列。输出应该是什么样子?
library(data.table)
res <- setDT(df1)[, lapply(.SD[,-1, with=FALSE],
function(x) cor(x,Col1)) , by=Group1]
setnames(res,2:4, paste0('Col1Cor', names(res)[-1]))