通过取消选择不需要的列,在R中按列汇总多列

我试图找到一种方法,通过指定我不想汇总的列来在 R 中按列汇总多列。例如,在以下情况下,我想汇总所有未命名为“cat”或“type”的列:

这个数据框:

df <- data_frame(cat = c('A', 'B', 'C'), 
                 val1 = c(0.1, 0.3, 0.5), 
                 val2 = c(0.2, 0.2, 0.7), 
                 val3 = c(0.14, 0.31, 0.35),
                 type = c(4, 2, 5))

对此:

df <- data_frame(cat = c('A', 'B', 'C'), 
                 val1 = c(0.1, 0.3, 0.5), 
                 val2 = c(0.2, 0.2, 0.7), 
                 val3 = c(0.14, 0.31, 0.35),
                 type = c(4, 2, 5),
                 sum = c(0.44,0.81,1.55))

我一直在尝试使用 dplyr mutate 函数来做到这一点,但我不知道该怎么做。

任何有关如何执行此操作的建议将不胜感激。

回答

您可以使用以下方法删除不需要的列select

library(dplyr)
df %>% mutate(sum = rowSums(select(., -cat, -type)))

#  cat    val1  val2  val3  type   sum
#  <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
#1 A       0.1   0.2  0.14     4  0.44
#2 B       0.3   0.2  0.31     2  0.81
#3 C       0.5   0.7  0.35     5  1.55


以上是通过取消选择不需要的列,在R中按列汇总多列的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>