2014-03-19 66 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