Создание нового столбца R с разным количеством строк в df - PullRequest
0 голосов
/ 27 февраля 2020

Я хочу добавить новый столбец в df с именем спирт

df$alcohol <- df %>% 
  filter(condition=='alcohol') %>% 
  select(drift)

Однако, поскольку «алкоголь» был одним из двух условий, этот новый столбец будет иметь меньше значений, и поэтому я получаю следующую ошибку сообщение:

Ошибка: замена содержит 36 строк, данные имеют 72

Кто-нибудь знает, как обойти это сообщение об ошибке и добавить новый столбец с меньшими значениями?

1 Ответ

0 голосов
/ 27 февраля 2020

Вы можете использовать оператор ifelse, чтобы пометить значения, которые соответствуют вашему условию, какой-либо меткой по вашему выбору, например, alcohol, и пометить оставшиеся значения как NA (или другое значение):

ДАННЫЕ :

df <- data.frame(
  drinks = c("apple juice", "coke", "whiskey", "milk", "water")
)

РЕШЕНИЕ :

df$alcohol <- ifelse(df$drinks=="whiskey", "alcohol", "NA")

РЕЗУЛЬТАТ :

df
       drinks alcohol
1 apple juice      NA
2        coke      NA
3     whiskey alcohol
4        milk      NA
5       water      NA
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...