【发布时间】:2025-11-27 00:05:02
【问题描述】:
我有一个包含几列的数据框,最后一列称为Filename。这就是它的样子。
Product Company Filename
… … mg-tvd_bmmh_20170930.csv
… … mg-tvd_bmmh_2016_06_13.csv
… … …
我正在尝试在 R 中编写一个简短的脚本,该脚本从文件名中获取日期并将其转换为我称之为 Date 的新列。所以一个新的数据框应该是这样的:
Product Company Date Filename
… … 09/30/2017 mg-tvd_bmmh_20170930.csv
… … 16/13/2017 mg-tvd_bmmh_2016_06_13.csv
… … … …
这是我脚本的相关部分。
df <- mutate(df, Date <- grep(pattern = "(\d{4})_?(\d{2})_?
(\d{1,2})", df$Filename, value = TRUE))
ddf$Date <- as.Date(Date,format = "%m/%d/%y")
任何建议为什么我不能让它工作?
我收到以下错误:
Error: '\d' is an unrecognized escape in character string starting ""(\d" Error in as.Date(Date, format = "%m/%d/%y") : object 'Date' not found
【问题讨论】:
-
哪里出错了?看起来您的日期格式行应该是 ddf$Date
-
> 错误:'\d' 是从 ""(\d" 开始的字符串中无法识别的转义 > as.Date(Date, format = "%m/%d/%y" 中的错误) : 找不到对象“日期”