r - 从 R 中的因子变量创建逻辑变量

标签 r logical-operators r-factor

我需要从分类(因子)变量创建逻辑变量(True-False)

我决定使用:

 dat$var[dat$var %in% c("option1")] <- TRUE
 dat$var[dat$var %in% c("option2")] <- FALSE

但是我在两行中都收到以下错误消息,并且我的整个变量为 NA:

Warning message:
In `[<-.factor`(`*tmp*`, dat$var %in% c("option1"),  :
   invalid factor level, NA generated

关于我可能做错了什么有什么想法吗? 因子级别是正确的,我复制粘贴以确保不会有任何拼写错误。 我想过将变量更改为向量 as.logic() 但这也不起作用。

最佳答案

此错误是由于 dat$var 造成的。您只能将预先指定水平的值分配给因子变量。但是您可以使用以下命令创建新变量(假设 option1option2 是唯一的值):

dat$var <- dat$var == "option1"

关于r - 从 R 中的因子变量创建逻辑变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22350188/

相关文章:

r - 如何在 R 中将因子级别转换为列表

python - 在Python中使用MXNet预训练图像分类模型

r - if (x[i] > 0) { : missing value where TRUE/FALSE needed 错误

javascript - 有人可以向我解释逻辑 "OR"运算符的范围在 Javascript 中如何工作吗?

函数返回语句中的Javascript逻辑OR运算符

r - 我可以使用因子作为搜索并替换 mutate 中的值吗?

java - R:如何设置 JDK 以使用 R(相关:rJava、RStudio、xlsx)

css - 使用符号在 Shiny 中创建中心导航栏

c - C中的短路和运算符优先级

用因子对象替换数据框的列而不是插入字符数据?