【发布时间】:2015-09-29 13:29:19
【问题描述】:
我有一个包含三千行的 df,我想创建一个包含零或一的新列,具体取决于用不同的单词写的单词。
我有一个函数可以评估列中的条目,如果它与我要查找的单词匹配,则在新列中返回“1”。像这样:
oneorzero <- function(x) {
if (x["col_one"] == "dog") {
return("1")
}
return("0")
}
df["col_two"] = apply(df, 1, oneorzero)
我希望能够应用逻辑 OR 运算符,以便在遇到各种不同的单词时添加一个,如下所示:
oneorzero <- function(x) {
if (x["col_one"] == "dog" | "cat" | "rat") {
return("1")
}
return("0")
}
df["col_two"] = apply(df, 1, oneorzero)
但这当然行不通,因为逻辑运算符只能用于数值。有谁知道这是怎么做到的?
【问题讨论】:
标签: r character logical-operators