猿问

计算R中矩阵的每列的平均值

我在R工作室的R工作。我需要计算数据帧每列的平均值。


 cluster1  // 5 by 4 data frame

 mean(cluster1) // 

我有 :


  Warning message:

  In mean.default(cluster1) :

  argument is not numeric or logical: returning NA

但我可以使用


  mean(cluster1[[1]])

得到第一列的平均值。


如何获得所有列的方法?


任何帮助,将不胜感激。


开心每一天1111
浏览 14421回答 3
3回答

慕盖茨4494581

你可以使用colMeans:### Sample dataset.seed(1)m <- data.frame(matrix(sample(100, 20, replace = TRUE), ncol = 4))### Your errormean(m)# [1] NA# Warning message:# In mean.default(m) : argument is not numeric or logical: returning NA### The result using `colMeans`colMeans(m)#&nbsp; &nbsp;X1&nbsp; &nbsp;X2&nbsp; &nbsp;X3&nbsp; &nbsp;X4&nbsp;# 47.0 64.4 44.8 67.8&nbsp;

慕的地6264312

您可以使用'apply'来运行函数或矩阵或数值数据框的行或列:cluster1 <- data.frame(a=1:5, b=11:15, c=21:25, d=31:35)apply(cluster1,2,mean)&nbsp; # applies function 'mean' to 2nd dimension (columns)apply(cluster1,1,mean)&nbsp; # applies function to 1st dimension (rows)sapply(cluster1, mean)&nbsp; # also takes mean of columns, treating data frame like list of vectors
随时随地看视频慕课网APP
我要回答