如何从R中的文件读取逻辑数据
可能重复:如何从R中的文件读取逻辑数据,r,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")
我生成了一个文件,其中每行包含一个逻辑值“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]是逻辑值
谢谢和问候 而不是:
a=scan(file="1.txt", what="logical")
尝试:
有关文档,请参见?扫描。a
a
[1] "FALSE" "TRUE" "TRUE" "TRUE" "TRUE"
a <- as.logical(a)
a
[1] FALSE TRUE TRUE TRUE TRUE
[1] FALSE“TRUE”TRUE“TRUE”TRUE“TRUE”TRUE
a谢谢!真管用!我试图阅读帮助文档,但仍然不确定what=“logical”和what=logical(0)之间的区别是什么?谢谢基本上,它需要一个实际类型的对象,值应该强制到该对象。您也可以只说scan(file='1.txt',what=TRUE)
,它的工作原理也是一样的<代码>逻辑(0)
是一种更干净的方法,IMO。
a
[1] "FALSE" "TRUE" "TRUE" "TRUE" "TRUE"
a <- as.logical(a)
a
[1] FALSE TRUE TRUE TRUE TRUE