cor(airquality[airquality$Month == 1, c("Temp", "Humidity")])
은 숫자가 아닌 2 * 2
공분산 행렬을 제공합니다. 난 당신이 각 Month
에 대한 하나의 숫자를 원하는 내기 때문에
## cor(Temp, Humidity | Month)
with(airquality, mapply(cor, split(Temp, Month), split(Humidity, Month)))
를 사용하고는 벡터를 얻을 것이다.
?split
및 ?mapply
을 읽으십시오. 그것들은 유일한 옵션이 아니지만 "그룹 별"작업에 매우 유용합니다. 또한 ?cor
주위를 읽고, 당신은 귀하의 질문에 링크 된 대답은 cor(cbind(a, b))
과 비슷한 일을하고있다
a <- rnorm(10)
b <- rnorm(10)
cor(a, b)
cor(cbind(a, b))
사이를의 차이를 비교한다.
재현 예를
R의 airquality
데이터 세트는 Humidity
열이없는, 그래서 테스트를 위해 Wind
를 사용합니다 : names(x)
주는 곳
## cor(Temp, Wind | Month)
x <- with(airquality, mapply(cor, split(Temp, Month), split(Wind, Month)))
# 5 6 7 8 9
#-0.3732760 -0.1210353 -0.3052355 -0.5076146 -0.5704701
우리는, 명명 된 벡터를 얻을 수
Month
및
unname(x)
은 상관 관계를 제공합니다.
대단히 감사합니다! 그것은 완벽하게 작동했습니다! 나는 각각의 상관 관계에 대해
R^2
벡터를 얻는 방법을 알아 내려고했지만, 그럴 수 없었다. 어떤 아이디어라도?
cor(x, y)
은 표준화 된 선형 회귀 모델을 피팅과 같다 :
이
coef(lm(scale(y) ~ scale(x) - 1)) ## remember to drop intercept
R- 제곱이 단순 선형 회귀에이 경사의 단지 광장입니다. 이전에 그룹 당 상관 관계를 저장하는 x
이 있습니다. 이제 R 제곱은 x^2
입니다.
대단히 감사합니다. 그것은 완벽하게 작동했습니다! 각 상관 관계에 대해 R^2 벡터를 얻는 방법을 알아 내려고했지만, 그럴 수 없었습니다 ... 어떤 아이디어입니까? – JSH