将字符串转换为逻辑格式

To convert string to logical format

    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 的字符串并进一步保存在一个对象中时,它显示数据类型为字符,所要求的是数据类型应该是合乎逻辑的。

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

所以需要的是上面的数据类型应该符合逻辑

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

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

或者,您可以使用 TRUEFALSETF 而不是 "TRUE" 和 [=17= 创建矢量].