2014-03-19 30 views
1

我有一个数据集,其中的列使用大量的空格分隔,因此当您在文本编辑器中打开列时,列会对齐。在R中使用正则表达式分隔列

问题是我无法使用空格分隔符打开此文件,因为其中一列包含空格的句子。我想知道如果我能以某种方式打开R这个文件,通过使用正则表达式分隔符

\s{2,}

我试着输入sep='\s{2,}'

,但不起作用。

+1

你可以阅读您的文件readLines,然后用strsplit分离元素,然后将数据聚合到data.frame中,但这会很麻烦 – droopy

回答

1

删除空格的列数据,您可以使用readLines读取所有线路和strsplit + rbind创建您data.frame算账:

ll <- readLines(
    textConnection("Column1   Column2 
Stupid sentence Stupid sentence 2 
foobar   foobar 2")) 

l <- strsplit(ll, " {2,}") 

df <- as.data.frame(do.call(rbind, l[-1])) 
colnames(df) <- l[[1]] 
df 
#   Column1   Column2 
#1 Stupid sentence Stupid sentence 2 
#2   foobar   foobar 2 
0

您可以通过正则表达式

+0

我试过用Sublime Text做这个,但是文本文件很大,并且崩溃了。 – Galadude