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
閱讀,
之間
a <- rnorm(10)
b <- rnorm(10)
cor(a, b)
cor(cbind(a, b))
你在你的問題鏈接的答案是做類似的東西cor(cbind(a, b))
比較差。
重複的例子,
的airquality
數據集R沒有Humidity
列,所以我會用Wind
來進行測試:
## 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
我們得到了一個名爲向量,其中names(x)
給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