从R中复杂的标题中提取年份



我在R中有一个数据帧,其中有几个变量,现在关注的是两个变量,title和Date。我写下了与真实数据帧相似的短数据

Title                                    Date
Veterans, Sacrame                        1997
Action Newsmaker                         2005
New Tri-Cable                            1990 mar
EFEST June 16, 1987                      28494
The Inhuman Perception: what we do       1999 june
New Tri-Cable                            2003 july/august
Interviews Concerning His/her            1991-1992
Festival EFEST June 6, 1997              83443
Intervention of the people               Undated

我想要的是创建一个新的可变年份,我们只有年份(没有日期/月或类似的东西(。我可以从日期格式或完全相似的文本格式中提取年份,但这里不同,因为标题很复杂,每一行都不相同(单词/字母不相等(。我只是想知道有什么简单的方法可以在我想要的r-studio中创建一个可变的"年"。如果是某种日期格式,我可以从日期变量中提取年份。然而,在一些数据中,日期像83443,但我在标题中看到了年份,但由于这种格式的庞大数据集,无法手动提取年份。

使用mdy转换为Date类,然后使用year提取年份。

library(lubridate)
year(mdy(dat1$Title, quiet = TRUE))
## [1]   NA   NA   NA 1987   NA   NA   NA 1997   NA

备注

可复制形式的数据:

Lines <- "Title                                    Date
Veterans, Sacrame                        1997
Action Newsmaker                         2005
New Tri-Cable                            1990 mar
EFEST June 16, 1987                      28494
The Inhuman Perception: what we do       1999 june
New Tri-Cable                            2003 july/august
Interviews Concerning His/her            1991-1992
Festival EFEST June 6, 1997              83443
Intervention of the people               Undated"
L <- readLines(textConnection(Lines))
dat1 <- read.csv(text = sub("   +", ";", trimws(L)), sep = ";")

相关内容

  • 没有找到相关文章

最新更新