繁体   English   中英

从列中的日期中提取年份

[英]Extracting year from dates in a column

我真的是R新手!

我有一个数据集被称为crimedata以下列CMPLNT_FR_DT

CMPLNT_FR_DT
12/31/2015
01/23/2009
10/04/2010
05/31/2015

我需要更改列值,以便日期仅包括年份,例如:

CMPLNT_FR_DT
2015
2009
2010
2015

从日期开始尝试了Extract的解决方案

但我的错误返回为

format(as.Date(df$CMPLNT_FR_DT, format="%m/%d/%Y"),"%Y")

Error in df$CMPLNT_FR_DT : object of type 'closure' is not subsettable

我不确定自己在做什么错。 我将衷心感谢您的帮助!

如果您有一个称为crimedata的数据集并使用df (当df未定义为变量,即"df" %in% ls()返回[1] FALSE ),则将Error in df$CMPLNT_FR_DT : object of type 'closure' is not subsettable得到错误Error in df$CMPLNT_FR_DT : object of type 'closure' is not subsettable 这是因为df()stats包中的函数(这就是为什么将df用作变量名可能不是一个好习惯)的原因。

如果将其更改为format(as.Date(crimedata$CMPLNT_FR_DT, format="%m/%d/%Y"),"%Y")它将可以使用。

还有另一种解决方案,使用lubridate软件包,该软件包以数字形式返回年份,这可能会有用:

library(lubridate)
year(as.Date(crimedata$CMPLNT_FR_DT, format = "%m/%d/%Y"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM