R-如何用行和减去

时间:2018-12-28 02:28:28

标签: r rowsum

我的数据框看起来像这样。

df <- read.table(text="
                 column1  column2   column3
    1            3        2         1
    1            3        2         1 
", header=TRUE)

我需要从第一列减去最后两列。为了计算该列,我将使用rowSums(summary[,1:3]),但我不知道如何减去该列。请注意,因为我不知道列名,所以我不能只写这样的代码。

`result <- df %>% 
mutate(result = rowSums(column1, - column2, - column3))` 

1 个答案:

答案 0 :(得分:2)

我们可以对数据进行子集删除,以删除第一列(rowSums),获取library(tidyverse) df %>% mutate(result = column1 - rowSums(.[-1])) # column1 column2 column3 result #1 3 2 1 0 #2 3 2 1 0 并从'column1'中减去

df %>%
    mutate(result = column1 - rowSums(.[tail(names(.), 2)]))

如果还有更多的列,并且想要选择最后两列

df %>% 
    mutate(result = .[[1]] - rowSums(.[c(2, 3)]))

如果我们只有该操作所涉及的列的索引

df <- structure(list(column1 = c(3L, 3L), column2 = c(2L, 2L), column3 = c(1L, 
 1L)), class = "data.frame", row.names = c(NA, -2L))

数据

bt-button.Accept.ng-isolate-scope.focused