分割一部分文件名并将其转换为R中的数据

我有一些文件的格式为data_25_05_2018.csv,这些文件有4列,每列30个值。

我想为每个列添加一个具有相同日期的列,因此,想法是告诉R取文件名,将其拆分,然后仅取25_05_18部分,然后将将其转换为有效的日期格式并创建一列。

是否存在一种形式,可以将文件名的一部分转换为R中的数据?

iCMS 回答:分割一部分文件名并将其转换为R中的数据

您可以使用正则表达式和dmy()中的lubridate函数来做到这一点:

library(lubridate)
library(tibble)
## make some fake data
DF <- matrix(rnorm(120),ncol=4)
colnames(DF) <- c("V1","V2","V3","V4")
##  turn data into a tibble 
DF <- as_tibble(DF)
## make file name
x <-  "data_25_05_2018.csv" 
## extract everything between data_ and .csv
x <- gsub("data_(.*)\\.csv","\\1",x)
## use dmy to turnit into a date and add to data frame
DF$date <- dmy(x)

> head(DF)
# # A tibble: 6 x 5
# V1     V2     V3     V4 date      
# <dbl>  <dbl>  <dbl>  <dbl> <date>    
#   1  0.692    -1.51   1.74  -0.585 2018-05-25
# 2  1.08     -0.812 -1.55  -1.98  2018-05-25
# 3  0.000229  2.55  -0.577 -0.619 2018-05-25
# 4  0.940    -0.906  0.990 -1.48  2018-05-25
# 5 -1.78      0.815  0.436 -0.125 2018-05-25
# 6 -0.324     0.735  0.974  0.151 2018-05-25
本文链接:https://www.f2er.com/1644206.html

大家都在问