Логічна індексація
Чудово! Доступ до стовпців за їхніми іменами є зручним. Чи можемо ми відфільтрувати рядки, які хочемо вивести?
Дійсно, можемо. Спочатку можна використовувати індекси (як це було для векторів або матриць). Але зазвичай ми не знаємо позицій рядків, а знаємо певні умови, яким вони мають відповідати. Наприклад, можна отримати дані лише для чоловіків або лише для людей старших за 30 років. Це можна зробити, вказавши необхідні умови у квадратних дужках. Для перевірки рівності потрібно використовувати подвійний знак ==
.
Припустимо, у нас є датафрейм data
і потрібно відфільтрувати рядки, де у стовпці 30
значення дорівнює age
. Це можна зробити за допомогою такого синтаксису: data[data$age == 30,]
. Зверніть увагу, що умова ставиться як перший індекс у квадратних дужках. Наприклад, для тих самих тренувальних даних, як і раніше, давайте виберемо дані людей старших за 30 років і лише чоловіків.
1234567891011# Data name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") # Creating a data frame test <- data.frame(name, age, gender) # People older than 30 test[test$age > 30, ] # Males only test[test$gender == 'M', ]
Як бачите, це правильно.
Swipe to start coding
Використовуючи набір даних mtcars
, витягніть наступні дані:
- Автомобілі, які проходять чверть милі менш ніж за 16 секунд (стовпець
qsec
). - Автомобілі з 6 циліндрами (стовпець
cyl
).
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 5.56
Логічна індексація
Свайпніть щоб показати меню
Чудово! Доступ до стовпців за їхніми іменами є зручним. Чи можемо ми відфільтрувати рядки, які хочемо вивести?
Дійсно, можемо. Спочатку можна використовувати індекси (як це було для векторів або матриць). Але зазвичай ми не знаємо позицій рядків, а знаємо певні умови, яким вони мають відповідати. Наприклад, можна отримати дані лише для чоловіків або лише для людей старших за 30 років. Це можна зробити, вказавши необхідні умови у квадратних дужках. Для перевірки рівності потрібно використовувати подвійний знак ==
.
Припустимо, у нас є датафрейм data
і потрібно відфільтрувати рядки, де у стовпці 30
значення дорівнює age
. Це можна зробити за допомогою такого синтаксису: data[data$age == 30,]
. Зверніть увагу, що умова ставиться як перший індекс у квадратних дужках. Наприклад, для тих самих тренувальних даних, як і раніше, давайте виберемо дані людей старших за 30 років і лише чоловіків.
1234567891011# Data name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") # Creating a data frame test <- data.frame(name, age, gender) # People older than 30 test[test$age > 30, ] # Males only test[test$gender == 'M', ]
Як бачите, це правильно.
Swipe to start coding
Використовуючи набір даних mtcars
, витягніть наступні дані:
- Автомобілі, які проходять чверть милі менш ніж за 16 секунд (стовпець
qsec
). - Автомобілі з 6 циліндрами (стовпець
cyl
).
Рішення
Дякуємо за ваш відгук!
single