A: как найти первую строку, соответствующую критериям


Вы можете использовать следующие методы, чтобы найти первую строку фрейма данных в R, соответствующую определенным критериям:

Метод 1. Найдите первую строку, соответствующую критерию.

 #get first row where value in 'team' column is equal to 'B'
df[which(df$team == ' B ', arr. ind = TRUE )[1],]

Способ 2. Найдите первую строку, соответствующую нескольким критериям.

 #get first row where 'points' column > 15 and 'assists' column > 10
df[which(df$points>15 & df$assists>10, arr. ind = TRUE )[1],]

Способ 3. Найдите первую строку, соответствующую одному из многих критериев.

 #get first row where 'points' column > 15 or 'assists' column > 10
df[which(df$points>15 | df$assists>10, arr. ind = TRUE )[1],]

В следующих примерах показано, как использовать каждый метод на практике со следующим фреймом данных в R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'),
                 points=c(18, 13, 19, 14, 24, 21, 20, 28),
                 assists=c(5, 7, 17, 9, 12, 9, 5, 12))

#view data frame
df

  team points assists
1 to 18 5
2 to 13 7
3 A 19 17
4 B 14 9
5 B 24 12
6 C 21 9
7 C 20 5
8 C 28 12

Пример 1. Найдите первую строку, соответствующую критерию

Мы можем использовать следующий синтаксис, чтобы найти первую строку, в которой значение в столбце команды равно «B»:

 #find first row where team is equal to 'B'
df[which(df$team == ' B ', arr. ind = TRUE )[1],] 

  team points assists
4 B 14 9

Мы видим, что первая строка, в которой значение в столбце команды равно «B», является четвертой строкой во фрейме данных.

Пример 2. Найдите первую строку, соответствующую нескольким критериям.

Мы можем использовать следующий синтаксис, чтобы найти первую строку, в которой значение в столбце очков больше 15, а значение в столбце передач больше 10:

 #find first row where points > 15 and assists > 10
df[which(df$points>15 & df$assists>10, arr. ind = TRUE )[1],] 

  team points assists
3 A 19 17

Мы видим, что первая строка, в которой значение в столбце очков больше 15, а значение в столбце передач больше 10, является третьей строкой фрейма данных.

Пример 3. Найдите первую строку, соответствующую одному из многих критериев.

Мы можем использовать следующий синтаксис, чтобы найти первую строку, в которой значение в столбце очков больше 15 или значение в столбце передач больше 10:

 #find first row where points > 15 or assists > 10
df[which(df$points>15 | df$assists>10, arr. ind = TRUE )[1],]

  team points assists
1 to 18 5

Мы видим, что первая строка, в которой значение в столбце очков больше 15 или значение в столбце передач больше 10, является первой строкой фрейма данных.

Примечание . Символы & и | операторы представляют «и» и «или» в R соответственно.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

Как найти максимальное значение в каждой строке в R
Как вычислить медианное значение строк в R
Как найти уникальные строки в нескольких столбцах в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *