Как извлечь строки из фрейма данных в 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