使用var
函数,
(a) 从上面找到行平均值的样本方差;
(b) 查找整个 XYZmat 的样本方差; <-这个
(c) 将 XYZmat 的样本方差除以行平均值的样本方差。 统计理论表明,该比率平均接近此处的行样本大小,即n。
(d) 你的结果与理论相符吗? (这是一个不平凡的问题。展示您的作品。
所以这就是他在问题中要求的,我无法得到单个数字的结果,所以我只是使用 sd 函数,然后对结果进行平方。我一直想知道是否还有一种方法可以使用 var 函数获得单个数字结果。在我的例子中,n是30,我从家庭作业的前一部分得到它。这是我上的第一节R课,也是第一节布置的家庭作业,所以答案应该很简单。
我尝试了as.vector()函数,结果我仍然得到了一组数字。我玩了一下var函数,没有变化。
不幸的是,我删除了我拥有的所有代码,因为矩阵太大以至于我的笔记本电脑开始滞后。
我没有任何错误消息,但我不断得到一组数字作为答案......
set.seed(123)
XYZmat <- matrix(runif(10000), nrow=100, ncol=100) # make a matrix
varmat <- var(as.vector(XYZmat)) # variance of whole matrix
n <- nrow(XYZmat) # number of rows
n
#> [1] 100
rowmeans <- rowMeans(XYZmat) # row means
varmat/var(rowmeans) # should be near n
#> [1] 100.6907
创建于 2019-07-17 由 reprex 软件包 (v0.3.0)