如何从R中的文件中读取逻辑数据

时间:2010-09-24 05:58:57

标签: r

  

可能重复:
  How to read logical data from a file in R

我生成了一个文件,每行包含一个“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]成为逻辑值。

谢谢和问候!

2 个答案:

答案 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