使数据框中的列等于中位数,平均值等? (R)

时间:2017-02-14 02:20:52

标签: r

我有几行数值数据,每行代表不同的数量或量度。我应该使列等于不同数量的均值,不同数量的IQRS和不同数量的中位数,但似乎没有任何方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

您的数据框:

df<-data.frame(x=c(1, 3 , 5), y=c(1, 1, 2), z=c(256, 5, 4))

使用dplyr / tidyr:

df1<-df%>%gather(var,val,x:z)%>%group_by(var)%>%summarise(max=max(val),min=min(val),avg=mean(val),median=median(val))

您可以将此扩展到任意数量的摘要统计信息。

# A tibble: 3 × 5
    var   max   min       avg median
  <chr> <dbl> <dbl>     <dbl>  <dbl>
1     x     5     1  3.000000      3
2     y     2     1  1.333333      1
3     z   256     4 88.333333      5