我生成了一个文件,每行包含一个“TRUE”或“FALSE”的逻辑值。现在我想将文件中的逻辑数据读入R.但是,读入的数据是模式“字符”而不是逻辑值。我想知道如何从文件中读取数据作为逻辑值。
我的R代码是
cat(FALSE,"\n", file="1.txt", append=FALSE);
for (i in 2:5) cat(TRUE,"\n",file="1.txt", append=TRUE);
a=scan(file="1.txt", what="logical")
输出结果为:
> mode(a)
1] "character"
> mode(a[1])
[1] "character"
> a[1]
[1] "FALSE"
我希望[1]成为逻辑值。
谢谢和问候!
答案 0 :(得分:5)
而不是:
a=scan(file="1.txt", what="logical")
尝试:
a = scan(file="1.txt", what=logical(0))
有关文档,请参阅?scan
。
答案 1 :(得分:2)
a
[1] "FALSE" "TRUE" "TRUE" "TRUE" "TRUE"
a <- as.logical(a)
a
[1] FALSE TRUE TRUE TRUE TRUE