首页 > 解决方案 > 如何将 colMeans 结果添加到 R 中保留 data.frame 的最后一行?

问题描述

我有这个df:

df <- data.frame(colA=c("A","B","C"),
colB = c("Stringn","Stringc","Stringb"),
x2008 = c(2.71472,1.62307,1.62269),
x2009 = c(NA,1.68250,1.66570))

df%>%
select(`x2008`,`x2009`)%>%
colMeans (na.rm = T)

返回:

x2008 x2009
1.986827 1.674100

预期收益:

可乐 colB x2008 x2009
一种 弦乐 2.71472 不适用
字符串 1.62307 1.6825
C 弦乐 1.62269 1.6657
平均的 结果 1.986827 1.674100

我正在这样做:

df%>%
select(`x2008`,`x2009`)%>%
colMeans (na.rm = T)%>%
mutate (`ColA` =" Average ",` ColB` = "result")

但它给出了错误,知道如何解决这个问题吗?

标签: rdataframedplyr

解决方案


最后但并非最不重要的:

library(dplyr)

df %>%
  add_row(colA = "Average", colB = "Result", x2008 = mean(df$x2008, na.rm = TRUE),
          x2009 = mean(df$x2009, na.rm = TRUE))

     colA    colB    x2008  x2009
1       A Stringn 2.714720     NA
2       B Stringc 1.623070 1.6825
3       C Stringb 1.622690 1.6657
4 Average  Result 1.986827 1.6741

推荐阅读