r-对于多行,求一行中多列的总和

  • 本文关键字:一行 于多行 r database sum row
  • 更新时间 :
  • 英文 :


我有一个大的数据帧[7872 x 7872],基本上看起来是这样的:

df <- data.frame(X0.61=c(1, 2, 3, 4, 5),
X0.225=c(3, 4, 5, 6, 7),
X0.329=c(4, 5, 6, 7, 8),
X0.553=c(5, 6, 7, 8, 9))

例如,我想对X0.61、X0.225和X0.553列的第1行和第3行求和。做这件事的有效方法是什么?我必须对100行进行这些类型的求和,目前我正在使用以下乏味的代码:

x <- sum(EXIO[1, c(61, 225, 389, 553, 717, 881)])

EXIO是我的数据,1是第一行,c是所有列。对于大约1600行,必须有一种更有效的方法来做到这一点,对吧?我还是个新手。

最终,我需要将所有这些和合并到新的行和列中,以便将它们与另一个数据集合并。如果你们中的任何人能提供一个通用代码/包供我稍后使用,我们也将不胜感激。

我不确定这是否是更大数据帧的一部分,也不确定您打算如何在那里应用它,但我可能会在purrr中使用map函数。

library(purrr)
df <- data.frame(X0.61=c(1, 2, 3, 4, 5),
X0.225=c(3, 4, 5, 6, 7),
X0.329=c(4, 5, 6, 7, 8),
X0.553=c(5, 6, 7, 8, 9))
map(df[c(1,3), c(1,2,4)], sum)

$X0.61
4
$X0.225
8
$X0.553
12

我们可以使用

library(dplyr)
df %>%
summarise(across(c(1, 2, 4), ~ sum(.[c(1, 3)])))
#   X0.61 X0.225 X0.553
#1     4      8     12

相关内容

  • 没有找到相关文章

最新更新