忽略dplyr行总和中的NA

克卢斯

在dplyr中是否有一种优雅的方式将NA处理为0(na.rm = TRUE)?

data <- data.frame(a=c(1,2,3,4), b=c(4,NA,5,6), c=c(7,8,9,NA))

data %>% mutate(sum = a + b + c)

a  b  c sum
1  4  7  12
2 NA  8  NA
3  5  9  17
4  6 NA  NA

but I like to get

a  b  c sum
1  4  7  12
2 NA  8  10
3  5  9  17
4  6 NA  10

即使我知道在许多其他情况下这都不是理想的结果

LyzandeR

您可以使用此:

library(dplyr)
data %>% 
  #rowwise will make sure the sum operation will occur on each row
  rowwise() %>% 
  #then a simple sum(..., na.rm=TRUE) is enough to result in what you need
  mutate(sum = sum(a,b,c, na.rm=TRUE))

输出:

Source: local data frame [4 x 4]
Groups: <by row>

      a     b     c   sum
  (dbl) (dbl) (dbl) (dbl)
1     1     4     7    12
2     2    NA     8    10
3     3     5     9    17
4     4     6    NA    10

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

沿data.frame的行的总和,R中为NA

来自分类Dev

检查R data.table中的按行NA总和

来自分类Dev

dplyr分组数据中的总和

来自分类Dev

dplyr中的“转发”累积总和

来自分类Dev

根据值从数据框中删除行,忽略 NA

来自分类Dev

使用dplyr汇总时忽略NA

来自分类Dev

使用 dplyr 过滤时忽略 NA 值

来自分类Dev

使用Dplyr从其他行中添加具有总和结果的新行

来自分类Dev

R-dplyr-按列分组并计算给定组中仅存在NA时保持NA的总和

来自分类Dev

R-dplyr-按列分组并计算给定组中仅存在NA时保持NA的总和

来自分类Dev

如何删除特定行中带有 NA 的 dplyr 列?

来自分类Dev

Matlab中的行总和

来自分类Dev

Jquery中的行总和

来自分类Dev

r中的NA值总和

来自分类Dev

在dplyr中按组获取总和后计算具有行百分比的列

来自分类Dev

如何忽略lapply中的NA?

来自分类Dev

使用dplyr对多列求和时忽略NA

来自分类Dev

首先和最后使用dplyr,但忽略NA值

来自分类Dev

PIVOT 查询中的行总和

来自分类Dev

用数值减去行并忽略NA

来自分类Dev

筛选忽略NA的唯一行

来自分类Dev

R-如何对行中的某些但不是全部变量执行算术运算,而忽略NA

来自分类Dev

取代dplyr链中的NA

来自分类Dev

忽略文件TCL中的行

来自分类Dev

忽略表中的特定行

来自分类Dev

忽略“ - ”标记的列的总和

来自分类Dev

未能忽略我的文件列表中的 NA

来自分类Dev

dplyr filter()会忽略值为0的行,如何更改

来自分类Dev

dplyr - 在聚合中包括跨组数据的总和