【问题标题】:how to use mutate () in a data frame to calculate the row sum in R?如何在数据框中使用 mutate() 来计算 R 中的行总和?
【发布时间】:2020-10-30 22:44:43
【问题描述】:

我尝试使用 mutate 将每一行相加得到总和,但它不起作用。

x <- cbind(x1 = c(1,2,3,4,5,6,7,8), x2 = c(4:1, 2:5))

【问题讨论】:

标签: r sum dplyr


【解决方案1】:

首先,您要创建的对象是一个矩阵,而 mutate 等 tidyverse 函数仅适用于 data.frame 或 tibble 对象。下面的代码应该做你想做的事。

第一块代码与您的原始代码相同,除了不使用 cbind 之外,每个“x”都作为数据框 x 的列输入。

然后在下一段代码中,您表示要对 x 的列进行逐行操作以生成 row_sum。我们指出我们的新列是“row_sum”,我们要取 x1 和 x2 列的总和。

library(tidyverse)
x <- data.frame(x1 = c(1,2,3,4,5,6,7,8),
                x2 = c(4:1, 2:5))
x_row_sum <- x %>% 
  rowwise() %>% 
  mutate(row_sum = sum(across(x1:x2)))

reprex package 创建于 2020-11-01 (v0.3.0)

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-12
    相关资源
    最近更新 更多