zu versetzen, die sum
einer data.frame
Spalte in einer Variablen ich das getan hätte zu bekommen:bessere Möglichkeit, die Summe einer data.frame Spalte in R mit dplyr
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
Ich fühle es ungeschickt ist summarise(total = sum(x)) %>% .$total
oder %>% .$x %>% sum
zu tun . Es gibt eine elegantere Art, das zu tun?
Ich möchte etwas wie %>% sum(.$x)
, aber es funktioniert nicht.
PS: es ist Vorschlag, "d"
als Filter zu verwenden, um einen Fall zu behandeln, wo numeric(0)
kein Problem ist.
Wenn Sie nach einer kompakten Option suchen, dann 'Basis R'' mit (Daten, Summe (x [y == "d"])) – akrun
@akrun tks. Aber es ist ein Spielzeugcode für ein größeres Beispiel mit 'dplyr'. – Murta