我需要从分类(因子)变量创建逻辑变量(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
造成的。您只能将预先指定水平的值分配给因子变量。但是您可以使用以下命令创建新变量(假设 option1
和 option2
是唯一的值):
dat$var <- dat$var == "option1"
关于r - 从 R 中的因子变量创建逻辑变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22350188/