阅读 CSV 后希望将列名格式化为日期
Looking to format column names to dates after reading in a CSV
当我从 CSV 文件中读取数据时,列名 return 格式如下:
X2017.04, X2017.05, X2017.06
我希望将其格式化为(或类似的格式):
April-2017, May-2017, June-2017
目前,我已经尝试使用循环遍历整个数据集并使用 as.Date()
或 as.yearmon
重新格式化所有内容,其中一些已经奏效,kinda.
as.yearmon
returned 1997.333333333
和类似的花车。 as.Date
我试过的代码 return 编辑了空白值。
我的 R 水平相对 new/novice,需要一些帮助。
谢谢!
使用 as.yearmon
你可以试试 :
names(df) <- zoo::as.yearmon(names(df), 'X%Y.%m')
或者在 base R 中粘贴任意日期:
names(df) <- format(as.Date(paste0(names(df), '.01'), 'X%Y.%m.%d'), '%b-%Y')
举个例子:
x <- c('X2017.04', 'X2017.05', 'X2017.06')
format(as.Date(paste0(x, '.01'), 'X%Y.%m.%d'), '%b-%Y')
#[1] "Apr-2017" "May-2017" "Jun-2017"
我们可以使用
library(lubridate)
format(ymd(sub('^X', "", x,), truncated = 2), '%b-%Y')
#[1] "Apr-2017" "May-2017" "Jun-2017"
数据
x <- c('X2017.04', 'X2017.05', 'X2017.06')
当我从 CSV 文件中读取数据时,列名 return 格式如下:
X2017.04, X2017.05, X2017.06
我希望将其格式化为(或类似的格式):
April-2017, May-2017, June-2017
目前,我已经尝试使用循环遍历整个数据集并使用 as.Date()
或 as.yearmon
重新格式化所有内容,其中一些已经奏效,kinda.
as.yearmon
returned 1997.333333333
和类似的花车。 as.Date
我试过的代码 return 编辑了空白值。
我的 R 水平相对 new/novice,需要一些帮助。
谢谢!
使用 as.yearmon
你可以试试 :
names(df) <- zoo::as.yearmon(names(df), 'X%Y.%m')
或者在 base R 中粘贴任意日期:
names(df) <- format(as.Date(paste0(names(df), '.01'), 'X%Y.%m.%d'), '%b-%Y')
举个例子:
x <- c('X2017.04', 'X2017.05', 'X2017.06')
format(as.Date(paste0(x, '.01'), 'X%Y.%m.%d'), '%b-%Y')
#[1] "Apr-2017" "May-2017" "Jun-2017"
我们可以使用
library(lubridate)
format(ymd(sub('^X', "", x,), truncated = 2), '%b-%Y')
#[1] "Apr-2017" "May-2017" "Jun-2017"
数据
x <- c('X2017.04', 'X2017.05', 'X2017.06')