【发布时间】:2013-03-27 03:44:52
【问题描述】:
很抱歉问这个问题......这肯定是一个常见问题解答,而且这是一个愚蠢的问题,但它一直困扰着我。假设我想获取数据框中每个数字列的方差,例如
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
在对角线上有方差,在其他位置有协方差。当我查找 help(var) 并读到“var 只是 cov 的另一个接口”时,这是有道理的。当然,方差是变量与其自身之间的协方差。输出有点混乱,但我可以沿对角线读取,或者使用diag(var(df))、sapply(df, var) 或lapply(df, var) 或通过在df$x 和df$y 上反复调用var 来生成方差。
但是为什么呢?方差是一种常规的、基本的描述性统计数据,仅次于均值。将它应用于数据框的列不应该是完全和完全微不足道的吗?当我只要求方差时,为什么要给我协方差?只是好奇。感谢任何关于此的 cmets。
【问题讨论】:
-
This 问题也可能有助于阅读。
标签: r