导入和处理文本文件

时间:2016-09-19 15:11:32

标签: r text

我有一个文本文件(myfile.txt),如下所示,

主题:5581 2005 471791 80 15184 64 2155 5581 2005 80 21292 10607 47 64 209 22910 132 1672 84 3865 84 1570 84 2005 84 10492 1847 12330 4797 82 13886 2170 47

我想要的是一个矢量A,它的元素如下

A [1] = 5581 A [2] = 2005 A [3] = 471791 .....等等

我尝试了read.table()和readLines()没有帮助。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我们可以使用scan来阅读该文件,以创建vectornumeric

A <- scan("myfile.txt", what = numeric(), quiet=TRUE)

如果开头还有Subject:作为前缀,我们会使用readLines阅读该文件,使用sub删除前缀部分,并使用scan进行阅读

lines <- readLines("myfile.txt")
A <- scan(text= paste(sub("^\\S+\\s+", "", lines), collapse=" "),
                      what = numeric(), quiet=TRUE)

关于正则表达式(^\\S+\\s+),我们匹配一个或多个非空白字符(\\S+)从字符串的开头(^)后跟一个或多个空格字符(\\s+)并将其替换为""中的空格(sub)。