Odp.: znajdź kolumnę z maksymalną wartością w każdym wierszu


Możesz użyć następującej składni, aby znaleźć kolumnę z maksymalną wartością dla każdego wiersza ramki danych w R:

 df$max_col <- colnames(df)[max. col (df, ties.method =' first ')]

Należy zauważyć, że argument tie.method=’first’ określa, że pierwsza maksymalna kolumna powinna zostać zwrócona, jeśli w danym wierszu znajduje się wiele kolumn o wartości maksymalnej.

Inne wartości, które możesz podać temu argumentowi, to random i last , jeśli zamiast tego chcesz zwrócić losową maksymalną kolumnę lub ostatnią maksymalną kolumnę.

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Znajdź kolumnę z maksymalną wartością dla każdego wiersza w R

Załóżmy, że mamy następującą ramkę danych w języku R, która zawiera informacje o liczbie punktów zdobytych przez sześciu różnych koszykarzy w trzech meczach:

 #create data frame
df <- data. frame (game1=c(23, 20, 14, 12, 19, 15),
                 game2=c(9, 10, 11, 13, 13, 15),
                 game3=c(29, 11, 22, 19, 14, 15))

#view data frame
df

  game1 game2 game3
1 23 9 29
2 20 10 11
3 14 11 22
4 12 13 19
5 19 13 14
6 15 15 15

Załóżmy, że chcemy utworzyć nową kolumnę zawierającą nazwę kolumny z maksymalną wartością w każdym wierszu ramki danych.

W tym celu możemy użyć następującej składni:

 #create new column that contains column with max value for each row
df$max_col <- colnames(df)[max. col (df, ties.method =' first ')]

#view updated data frame
df

  game1 game2 game3 max_col
1 23 9 29 game3
2 20 10 11 game1
3 14 11 22 game3
4 12 13 19 game3
5 19 13 14 game1
6 15 15 15 game1

Nowa kolumna o nazwie max_col zawiera nazwę kolumny z maksymalną wartością w każdym wierszu.

Na przykład:

  • W pierwszym wierszu gra3 zawierała wartość maksymalną.
  • W drugim wierszu gra1 zawierała wartość maksymalną.
  • W trzeciej linii game3 zawierała wartość maksymalną.

I tak dalej.

Należy pamiętać, że każda kolumna w ostatnim wierszu ma tę samą wartość.

Ponieważ w funkcji max.col() określiliśmy tie.method=’first’ , kod zwrócił game1 jako kolumnę o maksymalnej wartości, ponieważ jest to pierwsza maksymalna kolumna.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w języku R:

Odp.: Jak znaleźć unikalne wiersze w wielu kolumnach
Odp.: Jak znaleźć kolumny ze wszystkimi brakującymi wartościami
Odp.: Jak znaleźć unikalne wartości w kolumnie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *