首页 > 解决方案 > 如何制作具有多个条件的 ifelse 语句

问题描述

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

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

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

当主队获胜时,我希望它在 game$homewin 列中给我一个 1,而当主队失败时给我一个 0。所有结果都属于“主场赢加时”、“主场赢 REG”、“主场赢 SO”、“客场赢 OT”、“客场赢 REG”和“客场赢 SO”6 个类别。我只是希望能够制作一个不区分它是什么类型的胜利的 homewin 专栏。

标签: r

解决方案


%in%运算符允许您检查可能值的向量。

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

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

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

推荐阅读