Arrays 如何获得整个矩阵、数组或数据帧的均值、中值和其他统计信息?
我知道这是一个基本问题,但由于某种奇怪的原因,我无法找到答案Arrays 如何获得整个矩阵、数组或数据帧的均值、中值和其他统计信息?,arrays,r,matrix,dataframe,r-faq,Arrays,R,Matrix,Dataframe,R Faq,我知道这是一个基本问题,但由于某种奇怪的原因,我无法找到答案 我应该如何在整个数组、矩阵或数据帧上应用基本的统计函数,如均值、中值等,以获得唯一的答案,而不是行或列上的向量。默认情况下,mean和median等适用于整个数组或矩阵 例如: #数组: m既然这是一个相当大的问题,我将更全面地处理这个问题,除了mean和median之外,还包括“etc.”部分 对于矩阵或数组,如其他矩阵或数组所述,mean和median将返回单个值。然而,var将计算二维矩阵列之间的协方差。有趣的是,对于多维数组,
我应该如何在整个数组、矩阵或数据帧上应用基本的统计函数,如均值、中值等,以获得唯一的答案,而不是行或列上的向量。默认情况下,
mean
和median
等适用于整个数组或矩阵
例如:
#数组:
m既然这是一个相当大的问题,我将更全面地处理这个问题,除了mean
和median
之外,还包括“etc.”部分
对于矩阵或数组,如其他矩阵或数组所述,mean
和median
将返回单个值。然而,var
将计算二维矩阵列之间的协方差。有趣的是,对于多维数组,var
返回单个值<二维矩阵上的code>sd
将起作用,但不推荐使用,返回列的标准偏差。更好的是,mad
在二维矩阵和多维数组上返回单个值。如果希望返回单个值,最安全的方法是首先使用as.vector()
强制。玩得开心吗
data.frame
,mean
不推荐使用,但将再次单独作用于列<代码>中值要求您首先强制使用向量,或取消列出
。与前面一样,var
将返回协方差,sd
再次被弃用,但将返回列的标准偏差mad
要求强制为向量或取消列出
。通常,对于data.frame
如果您希望对所有值执行操作,通常只需首先取消列出它
o mean() for data frames and sd() for data frames and matrices are
defunct.
您可以通过install.packages('dplyr')使用
库dplyr
,然后
dataframe.mean <- dataframe %>%
summarise_all(mean) # replace for median
dataframe.mean%
汇总所有(平均值)#替换为中位数
但对于数据帧,平均值
和中值
不能正常工作。正如您所指出的,由于非数字列的原因,将df强制为矩阵将出现错误(因此您必须创建一个列索引以仅接触数字列)。(此外,如果数据帧较大,则使用as.matrix(mdf)
-big临时变量对其进行转换既不高效也不可扩展)。
o mean() for data frames and sd() for data frames and matrices are
defunct.
dataframe.mean <- dataframe %>%
summarise_all(mean) # replace for median