Создание переменной с тремя характеристиками - PullRequest
1 голос
/ 11 июля 2020

Я хотел бы создать переменную «WKA» с тремя характеристиками: 0,1 и 2.

WKA should be 0 if WKA_ohneJB[, "QUANTITY"]>=1 && WKA_ohneJB[, "WKA"]==0,
WKA should be 1 if WKA_ohneJB[, "QUANTITY"]>=1 && WKA_ohneJB[, "WKA"]>=1,
WKA should be 2 if WKA_ohneJB[, "QUANTITY"]==0 && WKA_ohneJB[, "WKA"]==0

Как я могу реализовать это в R?

1 Ответ

2 голосов
/ 11 июля 2020

Вместо if/else вместе с && мы можем использовать ifelse с &, поскольку ifelse векторизован

WKA_ohneJB$newWKA <- with(WKA_ohneJB, ifelse(QUANTITY >=1 & WKA == 0, 0,
                  ifelse(QUANTITY >=1 & WKA >=1, 1, 2)))

Или с case_when

library(dplyr)
WKA_ohneJB <- WKA_ohneJB %>%
                mutate(newWKA = case_when(QUANTITY >= 1 & WKA== 0 ~ 0L,
                  QUANTITY >=1 & WKA >=1 ~ 1L,
                  QUANTITY == 0 & WKA == 0 ~ 2L, 
                    TRUE ~ NA_integer_))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...