r中的分组相关环
grouped correlation loop in r
我想计算每个组的 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 .7 .3 1
B 0 .4 .6
对了,Col1是连续的,Col2、Col3、Col4是二元的。也有缺失值。
感谢大家的帮助。
一个选项使用data.table
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]))
您可以在 ?cor
中指定 use
选项以删除 "missing values"
编辑:这是给我错误的数据:
http://postimg.org/image/g9rfkamod/
我想计算每个组的 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 .7 .3 1
B 0 .4 .6
对了,Col1是连续的,Col2、Col3、Col4是二元的。也有缺失值。
感谢大家的帮助。
一个选项使用data.table
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]))
您可以在 ?cor
中指定 use
选项以删除 "missing values"
编辑:这是给我错误的数据: http://postimg.org/image/g9rfkamod/