我想計算一個數據集x的一個子集的柱子之間的相關係數R 我有40個模型的行,每個200個模擬在總共8000行中 我想計算下列兩者之間的係數corr:每個模擬colums(40行)如何計算相關性R
cor(x[c(3,5)])
所有8000行
我需要cor(x[c(3,5)])
計算,但只有當X$nsimul=1
等
,你會幫我在這方面 聖
我想計算一個數據集x的一個子集的柱子之間的相關係數R 我有40個模型的行,每個200個模擬在總共8000行中 我想計算下列兩者之間的係數corr:每個模擬colums(40行)如何計算相關性R
cor(x[c(3,5)])
所有8000行
我需要cor(x[c(3,5)])
計算,但只有當X$nsimul=1
等
,你會幫我在這方面 聖
我不知道你與x[c(3,5)]
做什麼,但它看起來像你想要做的事這樣的:你有一個數據幀X
這樣的:
set.seed(123)
X <- data.frame(nsimul = rep(1:2, each=5), a = sample(1:10), b = sample(1:10))
> X
nsimul a b
1 1 1 6
2 1 8 2
3 1 9 1
4 1 10 4
5 1 3 9
6 2 4 8
7 2 6 5
8 2 7 7
9 2 2 10
10 2 5 3
而且要將該數據幀拆分爲nsimul
列,並計算每個組中的a
和b
之間的相關性。這是一個經典的split-apply-combine
問題爲其plyr
包是非常非常適合:
require(plyr)
> ddply(X, .(nsimul), summarize, cor_a_b = cor(a,b))
nsimul cor_a_b
1 1 -0.7549232
2 2 -0.5964848
可以使用by
的功能,例如:
correlations <- as.list(by(data=x,INDICES=x$nsimul,FUN=function(x) cor(x[3],x[5])))
# now you can access to correlation for each simulation
correlations["simulation 1"]
correlations["simulation 2"]
...
correlations["simulation 40"]
'肺心病(X [X $ nsimul == 1,C (3,5)])?沒有可重複的例子,這個問題很難回答。 –