【问题标题】:read.csv appends/modifies column headings with date valuesread.csv 使用日期值附加/修改列标题
【发布时间】:2012-04-22 21:28:55
【问题描述】:

我正在尝试将一个 csv 文件读入 R,该文件在某些​​列标题中有日期值。

例如,数据文件如下所示:

ID  Type   1/1/2001  2/1/2001  3/1/2001  4/1/2011
A   Supply       25        35        45        55  
B   Demand       26        35        41        22
C   Supply       25        35        44        85  
D   Supply       24        39        45        75  
D   Demand       26        35        41        22

...我的 read.csv 逻辑看起来像这样

dat10 <- read.csv("c:\data.csv",header=TRUE, sep=",",as.is=TRUE)

read.csv 工作正常,只是它修改了带有日期的列的名称,如下所示:

x1.1.2001  x2.1.2001  x3.1.2001  x4.1.2001

有没有办法防止这种情况发生,或者事后有一种简单的纠正方法?

【问题讨论】:

    标签: r csv dataframe


    【解决方案1】:

    您始终可以使用colnames 函数更改列名。例如,

    colnames(dat10) = gsub("\\.", "/", colnames(dat10))
    

    但是,在列名中使用斜杠并不是一个特别好的主意。您可以随时在打印表格之前或创建图表时更改它们。

    【讨论】:

    • 非常好,但我相信 my 方式是最简单的方式。 ;-)
    • @JoshuaUlrich 是的,但我使用正则表达式可以获得奖励积分;)
    【解决方案2】:

    设置check.names=FALSE。但请注意,1/1/2001 等在语法上是无效的名称,因此它们可能会让您有些头疼。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-20
      • 2016-08-22
      • 2016-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多