【问题标题】:Read trailing white space in column name with read.table使用 read.table 读取列名中的尾随空格
【发布时间】:2015-09-04 18:39:27
【问题描述】:

使用下面的代码,我希望标题中的尾随空格没有条纹,即第一列的名称是 Column Name 1[whitespace] 而不是 Column Name 1

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

为什么列名不包含尾随空格?有没有办法读取文本或表格,使列名包含尾随空格(除了在第一行读取为字符)?

【问题讨论】:

  • 您也可以引用列名以在空格中读取。
  • 能否详细说明?
  • 或使用data.table::fread
  • 如果在您给出的示例中,它会显示"'Column Name 1'&Column Name... 而不仅仅是"Column Name 1 &ColumnName...,它也会读取空格。

标签: r whitespace read.table


【解决方案1】:

Strip.white=FALSE 避免去除列值中的空格,而不是列名中的空格。默认情况下 read.table 去除列名中的所有尾随空格。

我认为解决您的问题的方法是在向量​​中分别读取列名,并在读取其余数据时使用它们。这可以在以下两行中完成(我已将您的数据存储在名为 text 的变量中)

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-04
    • 2015-11-15
    • 2018-08-23
    • 2021-02-28
    • 2014-04-25
    • 1970-01-01
    • 2023-03-24
    相关资源
    最近更新 更多