如何在多个条件下进行ifelse语句

时间:2019-05-02 00:05:25

标签: r

我正在尝试创建一个虚拟变量,该变量告诉我结果是值是1还是0,是赢还是输。

我尝试使用c()在一行上使用ifelse语句,将所有匹配的单词放入其中。它给我一个错误消息,并且不能正确地对所有元组进行分类。

game$homewin<- ifelse(game$outcome == c("home win OT",
                      "home win REG", "home win SO"), 1, 0)

我希望当主队获胜时在game $ homewin列中给我1,在主队输掉时给我0。所有结果都分为“主场胜利OT”,“主场胜利REG”,“主场胜利SO”,“客场胜利OT”,“客场胜利REG”和“客场胜利SO” 6个类别。我只希望能够在不区分获胜类型的情况下做一个家庭获胜专栏。

1 个答案:

答案 0 :(得分:1)

使用%in%运算符可以检查可能值的向量。

game$homewin <- ifelse(game$outcome %in% c("home win OT",
                    "home win REG", "home win SO"), 1, 0)

您还可以利用TRUE的数字表示为1而FALSE的数字表示为0的事实,并写出:

game$homewin <- as.numeric(game$outcome %in% c("home win OT",
                    "home win REG", "home win SO"))