Jak sumować kolumny na podstawie warunku w r
Do sumowania kolumn na podstawie warunku w R można użyć następującej podstawowej składni:
#sum values in column 3 where col1 is equal to 'A' sum(df[ which (df$col1==' A '), 3])
Poniższe przykłady pokazują, jak zastosować tę składnię w praktyce z następującą ramką danych:
#create data frame df <- data. frame (conference = c('East', 'East', 'East', 'West', 'West', 'East'), team = c('A', 'A', 'A', 'B', 'B', 'C'), points = c(11, 8, 10, 6, 6, 5), rebounds = c(7, 7, 6, 9, 12, 8)) #view data frame df conference team points rebounds 1 East A 11 7 2 East A 8 7 3 East A 10 6 4 West B 6 9 5 West B 6 12 6 East C 5 8
Przykład 1: Dodaj kolumnę na podstawie warunku
Poniższy kod pokazuje, jak znaleźć sumę kolumn punktów dla wierszy, w których drużyna jest równa „A”:
#sum values in column 3 (points column) where team is equal to 'A' sum(df[ which (df$team==' A '), 3]) [1] 29
Poniższy kod pokazuje, jak znaleźć sumę kolumny odbić dla wierszy, w których liczba punktów jest większa niż 9:
#sum values in column 4 (rebounds column) where points is greater than 9 sum(df[ which (df$points > 9), 4]) [1] 13
Przykład 2: Dodaj kolumnę na podstawie wielu warunków
Poniższy kod pokazuje, jak znaleźć sumę kolumny punktów dla wierszy, w których zespół równa się „A” , a konferencja równa się „Wschód”:
#sum values in column 3 (points column) where team is 'A' and conference is 'East' sum(df[ which (df$team==' A ' & df$conference==' East '), 3]) [1] 29
Zauważ, że operator & oznacza „i” w R.
Przykład 3: Dodaj kolumnę na podstawie jednego z kilku warunków
Poniższy kod pokazuje, jak znaleźć sumę kolumn punktów dla wierszy, w których drużyna jest równa „A” lub „C”:
#sum values in column 3 (points column) where team is 'A' or 'C'
sum(df[ which (df$team == ' A ' | df$team ==' C '), 3])
[1] 34
Zauważ, że | Operator oznacza „lub” w R.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe funkcje w R:
Jak sumować określone kolumny w R
Jak sumować określone wiersze w R
Jak obliczyć sumę według grupy w R