2013-03-22 40 views
2

我只需要從.txt文件輸入行的子集。我嘗試使用read.table完成此操作,如下所示:read.table(file.txt,header=TRUE,skip=200000,nrow=500)。但是,生成的data.frame不包含適當的頭,而是read.table將第一行的值(即行200,000)指定爲列名。有沒有辦法解決這個問題?我意識到R將開始從.txt輸入數據。文件在第200,000行,並且頭部= TRUE假定行200,000是數據幀的頭部。但是,我希望第1行(已跳過)作爲標題。任何幫助將不勝感激。read.table錯誤

+1

爲什麼不做header = FALSE然後用readLines或第二個read.table命令單獨讀取名稱?如果沒有正確地看到你的.txt文件看起來像 – sayhey69 2013-03-22 17:28:17

+0

那樣很難完全回答,正如69所說的那樣,首先嚐試「頭文件< - read.table(file.txt,header = FALSE,nrow = 1),然後read.table(文件。 txt,header = FALSE,skip = 200000,nrow = 500,col.names = header)「 – 2013-03-22 17:30:56

+0

謝謝@ sayhey69,這是一個我從未想過的簡單解決方案。 – user13317 2013-03-22 17:32:47

回答

3

你可以做這樣的事情:

test<-read.table(header=TRUE, text=" 
a b 
1 2 
3 4 
5 6 
7 8 
",skip=2,nrow=3) 

test1<-read.table(header=TRUE, text=" 
a b 
1 2 
3 4 
5 6 
7 8 
",nrows = 1) 

colnames(test) <- names(test1) 

所以首先你想要的數據,並在數據的第一行以提取colnames是讀取後讀取。之後,通過第二個「數據集」的名稱編輯您需要的數據集的名稱。

0

69曾表示,首先嚐試讓你的山坳頭在一個單獨的文件

header<- read.table(file.txt,header=FALSE,nrow=1) 

那麼你可以appenhend這個山坳標題行的任何記錄u隨後檢索。

read.table(file.txt,header=FALSE,skip=200000,nrow=500, col.names=header)"