mean / sd作为值,而不是向量

时间:2013-03-28 03:22:36

标签: r vector mean

R中的mean和sd函数返回长度为1的数字向量 我想将平均值和标准差计算为单个值,而不是矢量。

这看起来很简单:只需要​​使用mean / sd返回的向量的第一个元素。 (diffs [[i]]是一个数字向量)

meanvec<-mean(diffs[[i]])
mean<-meanvec[1]

然而,这导致另一个长度为1的载体!!

Browse[1]> meanvec
[1] 0.9940868
Browse[1]> mean
[1] 0.9940868
Browse[1]> class(meanvec)
[1] "numeric"
Browse[1]> class(mean)
[1] "numeric"

如何获得平均值和sd作为简单值,而不是长度为1的数值向量? 非常感谢你!

1 个答案:

答案 0 :(得分:10)

在R中没有单个值。就R而言,标量是长度为1的向量,你无能为力。但是,您可以使用长度为1的向量,就好像它是R中的标量一样,所以我看不出问题是什么?

请注意,由于缺少标量和标量特异性,因此R中存在一些效率低下的问题。 - 优化运营。这些已在类似于R的新语言的背景下进行了讨论,但经过修改以解决其中的一些弱点,包括缺乏真正的标量。

Ross Ihaka在text of a paper given as JSM2010(PDF)中讨论了标量问题。当时的一些博客评论员也报道了罗斯的想法: