【问题标题】:How to sum values that all have the same beginning in R如何对R中所有具有相同开头的值求和
【发布时间】:2021-08-10 02:42:48
【问题描述】:

假设我在 R 中创建了 3 个值

brice1 <- 55
brice2 <- 10
brice3 <- brice1 * brice2 

我现在想总结所有这些。

brice_total <- brice1 + brice2 + brice3

但是,我不想输入每个变量。我将如何告诉 R 对所有以“Brice”开头的变量求和。例如,在 STATA 中,* 表示一个模棱两可的结尾,所以我可以这样做

egen brice_total = sum(brice*)

我需要在 R 中做同样的事情,因为我需要对一个长长的值列表求和,这些值都以相同的字符串开头。

【问题讨论】:

  • @akrun 对此有很好的回答。我建议将值存储在列表对象而不是全局环境中。 R 有很多工具可以高效地处理列表。

标签: r vector syntax sum


【解决方案1】:

我们可以在@987654325 中获取名称以“brice”开头 (^) 后跟一个或多个数字 (\\d+) 直到字符串结尾 ($) 的所有对象的值@ 和 Reduce+ 得到 base R 中的总和

Reduce(`+`, mget(ls(pattern = '^brice\\d+$')))

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多