如何在.txt中扫描R中的个别字符?根据我的理解,扫描使用空格作为分隔符,但如果我想在R中使用空格作为要扫描的内容,我该怎么做?
即(我想扫描字符串“Hello World”)我如何得到H,e,l,l,o,,W,o,r,l,d?
答案 0 :(得分:1)
我会采用两步法:首先使用readLines
将文件作为纯文本阅读,然后将单行拆分为字符向量:
lines <- readLines("test.txt")
characterlist <- lapply(a, function(x) substring(x, 1:nchar(x), 1:nchar(x)))
请注意,此方法不会返回格式良好的矩阵或data.frame,而是返回列表。
根据您的目的,可能会有一些不同的修改:
unlist(characterlist)
为您提供一行中所有字符的向量。如果您的文本文件表现得非常好,以至于每行中的字符数完全相同,那么您只需将simplify=T
添加到lapply
即可获得字符矩阵。
答案 1 :(得分:1)
strsplit
也是你的朋友:
test <- readLines(textConnection("Hello world
Line two"))
strsplit(test,"")
> strsplit(test,"")
[[1]]
[1] "H" "e" "l" "l" "o" " " "w" "o" "r" "l" "d"
[[2]]
[1] "L" "i" "n" "e" " " "t" "w" "o"
并按照@Thilo的建议不公开......
> unlist(strsplit(test,""))
[1] "H" "e" "l" "l" "o" " " "w" "o" "r" "l" "d" "L" "i" "n" "e" " " "t" "w" "o"