将字符串转换为逻辑格式

时间:2018-10-18 06:51:07

标签: r paste

    xa <- c(TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE)
class(xa)
[1] "logical" 

如上所示,这是TRUE和FALSE的序列,当我们尝试查看XA对象的数据类型时,它显示逻辑类型。

但是,当创建一个TRUE和FALSE字符串时,我进一步保存在一个对象中,它将数据类型显示为character,那么数据类型应该是逻辑上的。

      spliz <- paste("c(","TRUE,",paste(rep("FALSE",22),collapse=","),")")
   spliz <- gsub(" ","",spliz)
    class(spliz)
    [1] "character"    

因此上述数据类型必须为逻辑

1 个答案:

答案 0 :(得分:1)

如前所述,您应该使用eval(parse(text=spliz)),它将为您提供逻辑值。

class(eval(parse(text=spliz))
[1] "logical"

或者,您可以仅使用TRUEFALSE-或TF而不是"TRUE""FALSE"创建向量。