2013-12-10 2 views
1

나는 고양이가 얼마나 많이 먹고 있는지 추적하고 있으며 먹는 양과 상관 관계가 있는지 파악하려고합니다.R : 열 두 행렬에 걸쳐 corr 실행

나는 다음과 같은 데이터가 그래서 경우 : 호기심에 대한

food <- cbind(fluffy=c(0.9,1.1,1.3,0.7),misterCuddles=c(0.5,1.2,1.4,0.5)) 
poop <- cbind(fluffy=c(0.9,1.1,1.3,0.7),misterCuddles=c(-0.5,-1.2,-1.4,-0.5)) 
dates <- c("2013-01-01", "2013-01-02", "2013-01-03","2013-01-04") 
rownames(food) <- dates 
rownames(poop) <- dates 
cube <- abind(food, poop, along=3) 

주 :

  • 금액은 deci-페니에 : 1.1 똥만큼 11 페니
  • 에 대한 무게 의미를
  • 음부 똥 양은 미스터 포옹이 유니콘 일부임을 보여줍니다.

이 g

> corr(cube[,"misterCuddles",]) 

[1] -1 

는 내가 원하는 것은 각각의 상관 관계 번호로 명명 된 벡터이다 : 나는 아저씨는 자신의 마법을 보여 잖아요에 대한 상관 관계를 찾으려면 지금

> cube 

, , food 

      fluffy misterCuddles 
2013-01-01 0.9   0.5 
2013-01-02 1.1   1.2 
2013-01-03 1.3   1.4 
2013-01-04 0.7   0.5 

, , poop 

      fluffy misterCuddles 
2013-01-01 0.9   -0.5 
2013-01-02 1.1   -1.2 
2013-01-03 1.3   -1.4 
2013-01-04 0.7   -0.5 

: 나에게 다음과 아이브스 고양이 :

> c(fluffy=1.0,misterCuddles=-1.0) 

     fluffy misterCuddles 
      1   -1 

내가 한 번에, 이상적으로는 병렬로 수행 할 수있는 방법이 있습니까? 실제로, 나는 고양이의 buttloads 있습니다.

감사합니다.

EDIT 그것은

> result <- simplify2array(mclapply(colnames(food), function(x) corr(cube[,x,]))) 
> names(result) <- colnames(food) 
> result 
     fluffy misterCuddles 
      1   -1 

답변

2
library(boot) # for corr 
sapply(dimnames(cube)[[2]], function(x) corr(cube[ , x, ])) 

# fluffy misterCuddles 
#   1   -1 
+0

이 우수합니다, 감사합니다 ...처럼 간단 할 수 있습니다. 'dimnames'에 대해 몰랐다. – dvmlls