我的数据框 (g) 包含 2 列包含连续数据和其他列包含分类数据。我想测试由第三列定义的不同组中的 2 个连续变量之间的相关性。g (157X3000) 看起来像:
Geno GDW GN M1 M2 M3
1 SB002XSB012 -17.1597630 52.31961 G/G C/C T/T
3 SB002XSB044 -3.6537657 53.81305 G/G C/G G/G
4 SB002XSB051 -7.8411596 58.05924 A/G C/C G/T
5 SB002XSB067 2.8412103 30.85074 A/G G/G G/T
6 SB002XSB073 -16.0789550 -10.09913 A/A C/G G/G
7 SB002XSB095 0.1759709 10.28837 A/A G/G T/T
我正在寻找每个 M 定义的每个组中 GDW 和 GN 之间的相关性。我尝试过:
q<- function (x) {
spl<-split(g[,2:3],x)
r<-function(x) {
if ((nrow(x[[1]][1]))>2)
cor.test(x[[1]][1],x[[1]][2],use="pairwise.complete.obs")[3:4] else Na
}
cor<- sapply(spl,r)
}
all.cor<- apply(g[,4:ncol(g)],2,q)
并得到:
Error in if ((nrow(x[[1]][1])) > 2) cor.test(x[[1]][1], x[[1]][2], use = "pairwise.complete.obs")[3:4] else Na :
argument is of length zero