- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑到这是我的数据集
df <-
structure(list(id = 1:6, w = c(NA, 11L, 12L, 13L, 14L, 15L),
x = c(20L, 21L, NA, 23L, 24L, 25L), y = c(30L, 31L, 32L,
NA, 34L, 35L), z = c(40L, NA, 42L, 43L, 44L, NA), Group = c("Group1",
"Group2", "Group2", "Group2", "Group3", "Group3")), row.names = c(NA,
-6L), class = c("tbl_df", "tbl", "data.frame"))
id w x y z Group
1 NA 20 30 40 Group1
2 11 21 31 NA Group2
3 12 NA 32 42 Group2
4 13 23 NA 43 Group2
5 14 24 34 44 Group3
6 15 25 35 NA Group3
我正在尝试按组逐行对 w、x、y、z 列的观察值求和。我正在使用这样的 case_when
语句。
df <- df %>%
mutate(
group1_total <- case_when( Group = "Group1" ~ rowSums(w,x, na.rm = TRUE)),
group2_total <- case_when( Group = "Group2" ~ rowSums(w,x,z, na.rm = TRUE)),
group3_total <- case_when( Group = "Group3" ~ rowSums(w,x,y,z, na.rm = TRUE))
)
我收到一条错误消息,rowSums()
出错。不确定我做错了什么。非常感谢任何建议或帮助,谢谢。
最佳答案
我会创建一个命名列表,我们在其中指定要为每个组求和的变量。
cur_data()
返回当前组的数据,group_cols[[unique(Group)]]
为每个组选择合适的列。
library(dplyr)
group_cols <- list('Group1' = c('w', 'x'), 'Group2' = c('w', 'x', 'z'),
'Group3' = c('w', 'x', 'y', 'z'))
df %>%
group_by(Group) %>%
mutate(total = rowSums(select(cur_data(),
group_cols[[unique(Group)]]), na.rm = TRUE)) %>%
ungroup
# id w x y z Group total
# <int> <int> <int> <int> <int> <chr> <dbl>
#1 1 NA 20 30 40 Group1 20
#2 2 11 21 31 NA Group2 32
#3 3 12 NA 32 42 Group2 54
#4 4 13 23 NA 43 Group2 79
#5 5 14 24 34 44 Group3 116
#6 6 15 25 35 NA Group3 75
这样做的好处是计算是按组而不是按行进行的。
关于r rowSums in case_when,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73761234/
我正在尝试学习如何在 R 中使用 across() 函数,我想用它做一个简单的 rowSums()。但是,我不断收到此错误: Error: Problem with mutate() input ..
我是 r 的新手,有一个看起来很简单的问题。我想做 rowSums 但只包含在特定范围内的总和值(例如,高于 0)。 例如- 最后一列是请求的金额 col1 col2 col3 col4 t
问题 有没有函数,或者获取rowSums的方法只处理一列? 示例数据 col1 rowSums function (x, na.rm = FALSE, dims = 1L) { if (is
我很确定这很简单,但是似乎卡住了...我有两个xts向量已经合并在一起,其中包含数值和NA。 我想获取每个索引周期的rowSums,但要保留NA值。 以下是可重现的示例 set.seed(120) d
我正在尝试获取 R 中某行的矩阵中的列总和。但是,我不希望对整行求和,而只希望对指定数量的列进行求和,即在这种情况下对角线上方的所有列。我尝试过 sum 和 rowSums 函数,但它们要么给我奇怪的
考虑到这是我的数据集 df % mutate( group1_total % group_by(Group) %>% mutate(total = rowSums(sele
我目前正在使用 R 尝试为 DF 创建具有前一列总和的多列。想象一下我有一个这样的 DF: df= sep-2016 oct-2016 nov-2016 dec-2016 j
考虑到这是我的数据集 df % mutate( group1_total % group_by(Group) %>% mutate(total = rowSums(sele
这个问题在这里已经有了答案: rowSums but keeping NA values (4 个回答) 关闭6年前。 df <- data.frame(a = c(1, 1, NA, 0, 1, 0
假设我有一个数据框,其中有一列用于汇总数据。如果列 a、b 或 c 中的任何值不为零,那么在新列中返回二进制 0 或 1 的最有效方法是什么? rowSums 可以作为总数,但如果有任何不同的值,我还
我正在尝试为矩阵中的每个单元格条目写入最小的值,无论是其行和值还是相同维度的新矩阵中的列和值。 例如: 假设我的矩阵 c 看起来像这样: x <- matrix(seq(1:6),2) x
我正在尝试使用 rowSums,但使用条件值的比较。 这是我的数据框示例,基于调查。行代表参与者,列代表 child 的出生日期。 b3_01 b3_02 b3_03 b3_04 b3_05 b3
我有一个大列表,我想对该列表的每个对象中的每一行执行 rowSums。 这是我的: > DFTYPE [[1]] [[1]][[1]] DGDG.36.5 DGDG.36.6 1 978.490
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 9
这个问题在这里已经有了答案: aggregating multiple columns in data.table (2 个回答) 8年前关闭。 正在寻找一种简单的方法来获取 总计约 170 个不同的
假设我有一个像这样的数据框: df row_number variable value #> 1: 1 A.1 1 #> 2: 2
我想使用功能rowSums在 dplyr并遇到了一些数据缺失的困难。示例数据为 mtcars .目标是估计 mpg 的三个变量的总和, cyl和 disp按行。但是,当特定行中存在缺失值时,以下 R
我正在将 R 函数转换为 Rcpp,其中我使用了 R 函数 rowSums ,这似乎不是 Rcpp 中的有效糖表达式。我找到了 Rcpp 版本的 rowSums 的代码 here .但我得到 erro
类似于:mutate rowSums exclude one column但就我而言,我真的希望能够使用 select删除特定列或一组列 我试图理解为什么这种性质的东西行不通。 d % do({
我正在尝试从行计算中改变一个新变量,如下所示 rowSums iris %>% mutate_(sumVar = iris %>% select(S
我是一名优秀的程序员,十分优秀!