要将 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/