将数据帧的两行加在一起R

时间:2018-10-14 17:00:01

标签: r dataframe tibble

我正在尝试解决R中数据框中的一些麻烦的行。我的方法是将它们简单地加在一起,将两行合并为1。因此,例如,如果我有100列,其中X列,那么我将有99列操作后带有X列的行。理想情况下,我只传递两个行号,然后将它们合并。我想像矩阵运算一样为每一列添加每个值。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:3)

将两行加在一起,覆盖第二行,然后删除第一行。

combine_rows <- function(data, row1, row2) {
  data[row2, ] <- data[row1, ] + data[row2, ]
  data[-row1, ]
}

# test using builtin data frame, BOD

BOD
##   Time demand
## 1    1    8.3
## 2    2   10.3
## 3    3   19.0
## 4    4   16.0
## 5    5   15.6
## 6    7   19.8

combine_rows(BOD, 2, 3)
##   Time demand
## 1    1    8.3
## 3    5   29.3   <-- this row is the sum of original rows 2 and 3
## 4    4   16.0
## 5    5   15.6
## 6    7   19.8