Pul*_*lse 3 r logical-operators r-factor
我需要从分类(因子)变量中创建一个逻辑变量(True-False)
我决定使用:
dat$var[dat$var %in% c("option1")] <- TRUE
dat$var[dat$var %in% c("option2")] <- FALSE
Run Code Online (Sandbox Code Playgroud)
但是我在两行中都收到以下错误消息,我的整个变量是NA:
Warning message:
In `[<-.factor`(`*tmp*`, dat$var %in% c("option1"), :
invalid factor level, NA generated
Run Code Online (Sandbox Code Playgroud)
关于我可能做错的任何想法?因素水平是正确的,我复制粘贴,以确保不会有任何拼写错误.我想过将变量更改为vector,as.logical()但这也不起作用.
这个错误是由于dat$var是一个因素.您只能将预先指定的级别的值分配给因子变量.但您可以使用以下命令创建新变量(假设option1并且option2是唯一的值):
dat$var <- dat$var == "option1"
Run Code Online (Sandbox Code Playgroud)