r - 使用 dplyr 获取 R 中 data.frame 列总和的更好方法

标签 r dataframe dplyr

要将 data.frame 列的 sum 放入变量中,我这样做了:

library(dplyr)
data <- data.frame("x" = c(1,2,3), "y" = c("a","b","c"))
way01 <- data %>% filter(y == "d") %>% summarise(total = sum(x)) %>% .$total
way02 <- data %>% filter(y == "d") %>% .$x %>% sum

我觉得做 summarise(total = sum(x)) %>% .$total%>% .$x %>% sum 很笨拙。有更优雅的方法吗?

我想要 %>% sum(.$x) 之类的东西,但它不起作用。

PS:建议使用 "d" 作为过滤器,以处理 numeric(0) 没有问题的情况。

最佳答案

您可以使用 %$% 而不是 %>% 直接访问列:

> data %>% filter(y == "d") %$% sum(x)
[1] 0

关于r - 使用 dplyr 获取 R 中 data.frame 列总和的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42174806/

相关文章:

r - 将 MATLAB 代码转换为 R

python - 查找 Pandas DataFrame 中缺失样本点的数量

r - dplyr::group_by() 具有多个变量但不是交集

r - 在 dplyr::bind_cols 中使用点运算符

r - Mutate_at ,通过指定列名添加列

r - 在两个公共(public)列 R 的匹配值上连接两个数据帧

R shell.exec 需要完整的文件路径

R 编程 : Calculate two-sample t-test for a data frame with formatting

python - 如何在 pandas 数据框中打破/弹出列表内的嵌套字典?

python - DataFrame - 值错误 : Unexpected tuple with StructType