Как извлечь строки из фрейма данных в R (5 примеров)


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

Метод 1: извлечь одну строку по позиции

#extract row 2
df[2, ]

Способ 2: извлечь несколько строк по положению

#extract rows 2, 4, and 5
df[c(2, 4, 5), ]

Способ 3: извлечение диапазона строк

#extract rows in range of 1 to 3
df[1:3, ]

Способ 4: извлечение строк на основе одного условия

#extract rows where value in column1 is greater than 10
df[df$column1 > 10 , ]

Метод 5: извлечение строк на основе нескольких условий

#extract rows where column1 > 10 *and* column2 > 5
df[df$column1 > 10 & df$column2 > 5 , ]

#extract rows where column1 > 10 *or* column2 > 5
df[df$column1 > 10 | df$column2 > 5 , ]

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

#create data frame
df <- data.frame(team=c('A', 'B', 'C', 'D', 'E'),
 points=c(99, 90, 86, 88, 95),
 assists=c(33, 28, 31, 39, 34),
 rebounds=c(30, 28, 24, 24, 28))

#view data frame
df

 team points assists rebounds
1 A 99 33 30
2 B 90 28 28
3 C 86 31 24
4 D 88 39 24
5 E 95 34 28

Пример 1. Извлечение одной строки по позиции

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

#extract row 2
df[2, ]

 team points assists rebounds
2 B 90 28 28

Пример 2. Извлечение нескольких строк по положению

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

#extract rows 2, 4, and 5
df[c(2, 4, 5), ]

 team points assists rebounds
2 B 90 28 28
4 D 88 39 24
5 E 95 34 28

Пример 3: Извлечение диапазона строк

Следующий код показывает, как извлечь строки в диапазоне от 1 до 3:

#extract rows in range of 1 to 3
df[1:3, ]

 team points assists rebounds
1 A 99 33 30
2 B 90 28 28
3 C 86 31 24

Пример 4. Извлечение строк на основе одного условия

В следующем коде показано, как извлечь строки, в которых значение в столбце точек больше 90:

#extract rows where value in points column is greater than 90
df[df$points > 90 , ]

 team points assists rebounds
1 A 99 33 30
5 E 95 34 28

Пример 5: Извлечение строк на основе нескольких условий

В следующем коде показано, как извлечь строки, в которых значение в столбце точек больше 90:

#extract rows where points is greater than 90 *and* assists is greater than 33
df[df$points > 90 & df$assists > 33 , ]

 team points assists rebounds
5 E 95 34 28

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

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

Как удалить повторяющиеся строки в R
Как удалить несколько строк в R
Как подсчитать количество строк в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.