2015-09-04 72 views
0

使用下面的代碼我期望標題中的尾部空格不帶有條紋,即第一列的名稱是Column Name 1[whitespace]而不是Column Name 1使用read.table讀取列名稱中尾隨的空格

names(
read.table(text = 
      "Column Name 1 &ColumnName 2 
    1&2 
    1&2 
    1&2", sep="&", check.names = FALSE, header = TRUE, strip.white = FALSE) 
) 

爲什麼列名不包括結尾的空白,是有閱讀的文本或表格,以使列名包括尾部的空格(除了第一行文字讀取)的方法嗎?

+0

你可以引用列名的空白閱讀以及。 – maj

+0

請您詳細說明一下嗎? – Nussig

+1

或使用'data.table :: fread' – user20650

回答

2

Strip.white = FALSE可以避免在列名稱中刪除列值中的空格。默認情況下,read.table去掉列名中的所有尾隨空格。

我認爲解決您的問題的方法是分別讀取向量中的列名並在讀取其餘數據時使用它們。這可以在兩線做如下(我已存儲你的數據在一個名爲文本變量)

text<-"Column Name 1 &ColumnName 2 1&2 1&2 1&2"

colnames<-as.character(read.table(text=text,sep = "&",stringsAsFactors = FALSE,nrows = 1))

data<-read.table(text=text,sep="&",col.names = colnames,strip.white = FALSE,skip=1,check.names = FALSE)