【问题标题】:Creating a logical variable out of a factor variable in R从R中的因子变量创建逻辑变量
【发布时间】:2014-03-12 11:32:19
【问题描述】:

我需要从一个分类(因子)变量中创建一个逻辑变量(真假)

我决定使用:

 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.logical(),但这也没有用。

【问题讨论】:

    标签: r logical-operators r-factor


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-21
      • 2016-12-29
      • 1970-01-01
      • 1970-01-01
      • 2017-07-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多