Як створити підмножину кадру даних у r на основі кількох умов


Ви можете використати наступні методи для підвизначення кадру даних на основі кількох умов у R:

Спосіб 1: кадр даних підмножини за допомогою логіки «АБО».

 df_sub <- subset(df, team == ' A ' | points < 20 )

У цьому конкретному прикладі буде створено підмножину кадру даних для рядків, де стовпець команди дорівнює «A» або стовпець балів менше 20.

Спосіб 2: кадр даних підмножини з використанням логіки «І».

 df_sub <- subset(df, team == ' A ' & points < 20 )

У цьому конкретному прикладі буде створено підмножину кадру даних для рядків, у яких стовпець команди дорівнює “A” , а стовпець балів менше 20.

Цей підручник пояснює, як використовувати кожен метод на практиці з таким кадром даних:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
                 position=c('Guard', 'Guard', 'Forward',
                            'Guard', 'Forward', 'Forward'),
                 dots=c(22, 25, 19, 22, 12, 35))

#view data frame
df

  team position points
1 A Guard 22
2 A Guard 25
3 A Forward 19
4 B Guard 22
5 B Forward 12
6 B Forward 35

Приклад 1: кадр даних підмножини з використанням логіки «АБО».

У наведеному нижче коді показано, як підмножити фрейм даних для рядків, у яких стовпець команди дорівнює “A” або стовпець балів менше 20:

 #subset data frame where team is 'A' or points is less than 20
df_sub <- subset(df, team == ' A ' | points < 20 )

#view subset
df_sub

  team position points
1 A Guard 22
2 A Guard 25
3 A Forward 19
5 B Forward 12

Кожен із рядків у підмножині має значення «A» у стовпчику команди або значення у стовпчику балів менше 20.

Примітка : | символ означає «АБО» в R.

У цьому прикладі ми включили лише один символ «АБО» у функцію subset() , але ми могли б включити скільки завгодно підмножини на основі ще більшої кількості умов.

Приклад 2: кадр даних підмножини з використанням логіки «І».

У наведеному нижче коді показано, як підмножити фрейм даних для рядків, у яких стовпець команди дорівнює “A” , а стовпець балів менше 20:

 #subset data frame where team is 'A' and points is less than 20
df_sub <- subset(df, team == ' A ' & points < 20 )

#view subset
df_sub

  team position points
3 A Forward 19

Зверніть увагу, що отримана підмножина містить лише один рядок.

Дійсно, лише один рядок має значення «A» у стовпчику команд і значення у стовпчику балів менше 20.

Примітка : символ & означає «І» в R.

У цьому прикладі ми включили лише один символ «І» у функцію subset() , але ми могли б включити скільки завгодно підмножини на основі ще більшої кількості умов.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в R:

Як вибрати окремі рядки у кадрі даних у R
Як вибрати рядки зі значеннями NA в R
Як вибрати рядки на основі векторних значень в R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *