我发现了一个问题,即 R 似乎解释"T"
为TRUE
即使在使用一切手段避免这样做时(至少根据这篇文章)。
示例数据(另存为“test.txt”):
col1 col2
1 T
2 T
3 T
4 T
5 T
6 T
7 T
8 T
9 T
示例代码:
read.table("test.txt", as.is=TRUE, header=TRUE,
stringsAsFactors=FALSE, colClasses=c(character()))
产生:
col1 col2
1 1 TRUE
2 2 TRUE
3 3 TRUE
4 4 TRUE
5 5 TRUE
6 6 TRUE
7 7 TRUE
8 8 TRUE
9 9 TRUE
我发现唯一不理想的解决方案是设置 header=FALSE:
read.table("test.txt", as.is=TRUE, header=FALSE,
stringsAsFactors=FALSE,
colClasses=c(character()))
V1 V2
1 col1 col2
2 1 T
3 2 T
4 3 T
5 4 T
6 5 T
7 6 T
8 7 T
9 8 T
10 9 T
我意识到这可能看起来有些做作,但这种极端情况是真实的,因为人类基因实际上被命名"T"
(!),其值col1
是该基因中的位置。
在此先感谢您的帮助