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"
因此上述数据类型必须为逻辑
答案 0 :(得分:1)
如前所述,您应该使用eval(parse(text=spliz))
,它将为您提供逻辑值。
class(eval(parse(text=spliz))
[1] "logical"
或者,您可以仅使用TRUE
和FALSE
-或T
和F
而不是"TRUE"
和"FALSE"
创建向量。