這是 中的資料結構R:
library(MASS)
ns <- 10; nt <- 20
dat <- data.frame(
Subj = rep(c(paste0('S',1:ns), paste0('S',1:ns)), nt),
F = rep(c(rep('f1', ns), rep('f2',ns)), nt),
T = rep(paste0('t', 1:nt), each=2*ns),
y = c(mvrnorm(n=ns, mu=c(0, 0), Sigma=matrix(c(1,0.7,0.7,1), nrow=2,ncol=2)))
rnorm(2*ns*nt, 0, 1) )
我想為因子的每個級別分別計算因子y的兩個級別(f1和f2)之間變數的相關性。在此示例中,這應該以 10 個相關性結束。另一個條件是相關公式中兩個向量中的每一個的序列應該按照因子的水平以相同的順序排列。FSubjT
如何做到這一點?謝謝!
uj5u.com熱心網友回復:
您可以by在基礎 R中使用。
subdat <- dat[order(dat$T), c("y", "F", "Subj")]
by(subdat, subdat$Subj, function(x) with(x, cor(y[F == "f1"], y[F == "f2"])))
輸出
subdat$Subj: S1
[1] -0.03755675
---------------------------------------------------------------------------------
subdat$Subj: S10
[1] -0.05481364
---------------------------------------------------------------------------------
subdat$Subj: S2
[1] 0.2822211
---------------------------------------------------------------------------------
subdat$Subj: S3
[1] 0.2671967
---------------------------------------------------------------------------------
subdat$Subj: S4
[1] 0.1268404
---------------------------------------------------------------------------------
subdat$Subj: S5
[1] 0.0374699
---------------------------------------------------------------------------------
subdat$Subj: S6
[1] 0.5655247
---------------------------------------------------------------------------------
subdat$Subj: S7
[1] 0.2141196
---------------------------------------------------------------------------------
subdat$Subj: S8
[1] 0.250178
---------------------------------------------------------------------------------
subdat$Subj: S9
[1] 0.1370734
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/419354.html
標籤:
