将列添加到R摘要

时间:2013-11-11 14:58:35

标签: r statistics

我有一个向量的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)

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

3 个答案:

答案 0 :(得分:6)

这是一种方法:

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 

答案 1 :(得分:4)

尝试编写新功能。我已经简要介绍了如何编写可以用作资源的简单函数(link)。

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

mySummary <- function(vector, na.rm = FALSE, round = 2){
  results <- c(summary(vector), 'Std. Dev' = round(sd(vector, na.rm), 2))
  return(results)
}

答案 2 :(得分: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