r - 将 dplyr 函数应用于除一列之外的所有列

标签 r dplyr

给定一个数据框,除最后一列外,所有列中都有数值,我如何计算该行的平均值?

在此示例中,我使用了所有列,包括我想省略的 name 列。

df <- as.data.frame(matrix(1:40, ncol=10)) %>%
    mutate(name=LETTERS[1:4]) %>%
    mutate(mean=rowMeans(.))

所需的数据帧输出:

  V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 mean name
1  1  5  9 13 17 21 25 29 33  37   19    A
2  2  6 10 14 18 22 26 30 34  38   20    B
3  3  7 11 15 19 23 27 31 35  39   21    C
4  4  8 12 16 20 24 28 32 36  40   22    D

最佳答案

你可以尝试:

df %>% 
  mutate(mean = select(., -matches("name")) %>% rowMeans(.))

关于r - 将 dplyr 函数应用于除一列之外的所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31724467/

相关文章:

r - 如何在 dygraphs 中为 R 设置 x 轴以仅显示月份

r - 将字符列值转换为数据框中的二进制值

r - 将数据帧的每一行乘以它的向量 R

r - 计算净利润

r - 根据前一行中多个变量的值对行进行条件过滤

r - 依赖于使用插入符号进行预处理的单个袋装树模型的预测

r - 如何根据有限列的选定变量对数据框进行子集化?

r - 从 Windows 机器使用 R 的 SSH/SCP

r - 将列值与 rowSums 进行比较

r - R 中的 dplyr 语法 - 完全连接