Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用dplyr从字符串列中提取特定单词后面的日期_R_Regex_Dplyr_Gsubfn - Fatal编程技术网

使用dplyr从字符串列中提取特定单词后面的日期

使用dplyr从字符串列中提取特定单词后面的日期,r,regex,dplyr,gsubfn,R,Regex,Dplyr,Gsubfn,我试图提取报告添加到报告的R数据框架中的最近日期。文本看起来总是像排序日期:M/DD/YYYY,在给定的报告中可能多次包含0。如果它在重复,我想要最新的(通常是最后一个)实例,并且我正在尝试将它转换为变异的dplyr列中的日期 在我的实际数据帧上使用下面的代码,我得到了错误: if(nchar>0&&substring(s,1,1)=“\002”){: 缺少需要TRUE/FALSE的值 但是,它在单个项目上运行良好,这让我觉得它试图连接整个列 测试代码没有给出错误,但实际上从所有实例的上次报告中

我试图提取报告添加到报告的R数据框架中的最近日期。文本看起来总是像
排序日期:M/DD/YYYY
,在给定的报告中可能多次包含0。如果它在重复,我想要最新的(通常是最后一个)实例,并且我正在尝试将它转换为变异的dplyr列中的日期

在我的实际数据帧上使用下面的代码,我得到了错误:

if(nchar>0&&substring(s,1,1)=“\002”){:
缺少需要TRUE/FALSE的值

但是,它在单个项目上运行良好,这让我觉得它试图连接整个列

测试代码没有给出错误,但实际上从所有实例的上次报告中提取最后日期:

     lastdate
1 1999-04-15
2 1999-04-15
所需输出应为:

2005-4-2
1999-4-15
数据集的实际值:

Error in if (nchar(s) > 0 && substring(s, 1, 1) == "\002") { : 
  missing value where TRUE/FALSE needed
测试数据的实际值:

    lastdate
1 1999-04-15
2 1999-04-15

我建议像这样的
gsub

dataset$lastsdate <- as.Date(gsub(".*Date Ordered:\\s*(\\d{1,2}/\\d{1,2}/\\d{4}).*|.*","\\1", dataset$Report),"%m/%d/%Y")

dataset$lastsdate Try
dataset$lastsdate我实际上不得不将它包装在一个ifelse中,因为偶尔的几行会导致完整的句子和c说出as.Date,并且其中一个“Date Ordered”元素是空的,这也是有问题的。这起作用了:Lastdate=ifelse(grepl(“*附录”,Report)&grepl(“Date Complete”,Report),gsub(“*Date Complete:\\s*(\\d{1,2}/\\d{1,2}/\\d{4})。”,“\\1”,Report),NA),lastpendency=as.Date(lastpendency,,“%m/%d/%Y”)如果添加
.*
,则可以删除整个文本。请参阅我的答案。
dataset$lastsdate <- as.Date(gsub(".*Date Ordered:\\s*(\\d{1,2}/\\d{1,2}/\\d{4}).*|.*","\\1", dataset$Report),"%m/%d/%Y")