不好意思問這個...這肯定是一個常見問題,這是一個愚蠢的問題,但它一直在困擾着我。假設我想在數據幀的每個數字列的方差,如爲什麼var在R中扮演cov的角色?
df <- data.frame(x=1:5,y=seq(1,50,10))
當然,我嘗試
var(df)
而不是給我什麼,我原先希望的,這將是什麼像
x y
2.5 250
我得到這個
x y
x 2.5 25
y 25.0 250
其中對角線有差異,其他位置有協方差。當我查找幫助(var)並且讀取「var只是cov的另一個接口」時,這是有意義的。當然,變量是一個變量與其自身之間的協方差。輸出有點混淆,但我可以沿對角線讀取,或者只使用diag(var(df))
,sapply(df, var)
或lapply(df, var)
或通過在df$x
和df$y
上重複呼叫var
來生成差異。
但是爲什麼?差異是一種常規的基本描述性統計,僅次於平均值。不應該將它應用於數據框的列是完全微不足道的嗎?當我只要求差異時,爲什麼要給我協方差?只是好奇。感謝您對此的任何評論。
[這](http://stackoverflow.com/q/9424311/324364)問題也可能會使一些很好的閱讀。 – joran 2013-03-27 03:57:39