read.csv добавляет/изменяет заголовки столбцов со значениями даты

Я пытаюсь прочитать файл 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

Есть ли способ предотвратить это или простой способ исправить это впоследствии?


person MikeTP    schedule 10.04.2012    source источник


Ответы (2)


Установите check.names=FALSE. Но имейте в виду, что 1/1/2001 и др. — синтаксически недопустимые имена, поэтому они могут вызвать у вас головную боль.

person Joshua Ulrich    schedule 10.04.2012

Вы всегда можете изменить имена столбцов, используя функцию colnames. Например,

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

Однако наличие косой черты в именах столбцов — не очень хорошая идея. Вы всегда можете изменить их непосредственно перед распечаткой таблицы или при создании графика.

person csgillespie    schedule 10.04.2012
comment
Очень красиво, но я считаю, что мой способ самый простой. ;-) - person Joshua Ulrich; 10.04.2012
comment
@JoshuaUlrich Верно, но я получаю бонусные баллы за использование регулярного выражения;) - person csgillespie; 10.04.2012