我找不到这个问题的确切答案. 使用tidyVerse,我想将包含值>=1的行的值相加到一个新行中. 我有:

df <- tibble(dif = c(0, 1, 2, 3), n = c(2, 4, 6, 8))

    dif     n
  <dbl> <dbl>
1     0     2
2     1     4
3     2     6
4     3     8

在本例中,行2:4包含一个大于0的值.我想将第2:4行的n个值相加成一个新行,最好保留dif个值,输出如下所示.

    dif     n
  <dbl> <dbl>
1     0     2
2     1    18

推荐答案

如果dif >= 1+将逻辑向量(TRUE,FALSE)强制为10,您可以 Select group_by.

library(dplyr)
df %>% 
  group_by(dif = +(dif >= 1)) %>% 
  summarise(n = sum(n))

输出

    dif     n
1     0     2
2     1    18

R相关问答推荐

如何将旋转后的NetCDF转换回正常的纬度/经度网格,并使用R?

当我们有多个特殊字符时,使用gsub删除名称和代码'

使用across,starts_with和ifelse语句变更多个变量

在RStudio中堆叠条形图和折线图

Data.table';S GForce-将多个函数应用于多列(带可选参数)

更新R中的数据表(使用data.table)

基于数据集属性将科分配给物种

创建列并对大型数据集中的特定条件进行成对比较的更高效程序

如何根据其他列中的两个条件来计算数据帧中的行之间的差异?

在GT()中的列之间添加空格

将仪表板中的值框大小更改为Quarto

如何创建一个由一个连续变量和一个因素变量组成的复杂方框图?

R/shiny APP:如何充分利用窗口?

如何计算物种矩阵中一行中的唯一个数?

列中的所有值都是真的吗?忽略NA

从r2d3到htmlwidget

根据字符串中的字符数将数据帧字符串列拆分为多个不同的列

删除多列中带有NA的行

查看在模块中的ui Output中呈现的输入

如何在gg散点图中增加自动生成的R和p值的字体大小?