3

我有一个向量的 R 总结:

summary(vector)
Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
1.000   1.000   2.000   6.699   6.000 559.000 

我想添加一个标准偏差列:

SomethingNew(vector)
Min. 1st Qu.  Median    Mean 3rd Qu.    Max.   Std.Dev.
1.000   1.000   2.000   6.699   6.000 559.000  17.02

最后一列的公式是

round(sd(vector),2)

但我不知道如何将其添加到同一显示中的摘要数据框中。任何帮助表示赞赏,欢呼。

4

3 回答 3

9

这是一种方法:

vec <- 1:10 # an example vector
summ <- summary(vec) # create the summary

summ["Std.Dev."] <- round(sd(vec),2) # add the new value

结果:

Min.  1st Qu.   Median     Mean  3rd Qu.     Max. Std.Dev. 
1.00     3.25     5.50     5.50     7.75    10.00     3.03 
于 2013-11-11T15:01:39.097 回答
4

尝试编写一个新函数来做到这一点。我已经写了一个关于如何编写可以用作资源的简单函数(链接)的简短概述。

本质上,您需要以下内容:

mySummary <- function(vector, na.rm = FALSE, round = 2){
  results <- c(summary(vector), 'Std. Dev' = round(sd(vector, na.rm), 2))
  return(results)
}
于 2013-11-11T15:05:02.677 回答
2

试试这个

> set.seed(1)
> vector <- rnorm(100, 20, 5)
> c(summary(vector), sd=sd(vector))
     Min.   1st Qu.    Median      Mean   3rd Qu.      Max.        sd 
 8.927000 17.530000 20.570000 20.540000 23.460000 32.010000  4.490997 

四舍五入:

> round(c(summary(vector), sd=sd(vector)), 2)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.      sd 
   8.93   17.53   20.57   20.54   23.46   32.01    4.49 
于 2013-11-11T15:02:26.883 回答