我想用另一个数据条件计算两个数据集之间的相关性。我想要P的前50%,这对应于P的值大于中位数。
P=c(1,6,5,6,2,8,5)
sf=c(1,2,6,6,4,5,5)
Pf=c(1,6,5,8,4,8,5)
正常的corr:
cor(sf,Pf)
条件:
cor(sf[P > median(P)], Pf[P > median(P)])
这非常有效。如何将我的真实数据用于同样的事情?
with condition(using dir3(p is dir3 here)):
???
提前致谢
答案 0 :(得分:1)
完全相同的代码应该有效:
function(x){cor(x[,1],x[,2])}
可以写成
function(x) {
P <- x[,3]
sf <- x[,1]
Pf <- x[,2]
cor(sf, Pf)
}
成为
function(x) {
P <- x[,3]
sf <- x[,1]
Pf <- x[,2]
i <- P > median(P)
cor(sf[i], Pf[i])
}