R 从列中的日期提取年份
我真的是个新手 我在一个名为crimedata的数据集中有以下列CMPLNT_FR_DT 我需要更改列值,以便日期仅包括年份,如:R 从列中的日期提取年份,r,R,我真的是个新手 我在一个名为crimedata的数据集中有以下列CMPLNT_FR_DT 我需要更改列值,以便日期仅包括年份,如: CMPLNT_FR_DT 2015 2009 2010 2015 我试着从他们那里得到解决方案 但我的错误返回为 format(as.Date(df$CMPLNT_FR_DT, format="%m/%d/%Y"),"%Y") Error in df$CMPLNT_FR_DT : object of type 'closure' is not subsetta
CMPLNT_FR_DT
2015
2009
2010
2015
我试着从他们那里得到解决方案
但我的错误返回为
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
),您将得到df$CMPLNT\u FR\u DT中的错误错误:“closure”类型的对象不可再附加。这是因为df()
如果您将其更改为格式(as.Date(crimedata$CMPLNT\u FR\u DT,format=“%m/%d/%Y”),“%Y”)
它将工作
还有另一个解决方案,使用包lubridate,它以数字形式返回年份,这可能很有用:
library(lubridate)
year(as.Date(crimedata$CMPLNT_FR_DT, format = "%m/%d/%Y"))
如果您有一个名为crimedata
的数据集,并改用df
(当df
未定义为变量时,即“df”%in%ls()
返回[1]FALSE
),您将得到df$CMPLNT\u FR\u DT中的错误错误:“closure”类型的对象不可子集
。这是因为df()
如果您将其更改为格式(as.Date(crimedata$CMPLNT\u FR\u DT,format=“%m/%d/%Y”),“%Y”)
它将工作
还有另一个解决方案,使用包lubridate,它以数字形式返回年份,这可能很有用:
library(lubridate)
year(as.Date(crimedata$CMPLNT_FR_DT, format = "%m/%d/%Y"))
格式(截至日期('12/31/2015',格式='%m/%d/%Y'),'%Y')
有效fine@Sotos我知道这可能行得通,但我正在尝试格式化整个专栏,这不重要。试试这种df格式(如.Date('12/31/2015',格式='%m/%d/%Y'),'%Y')
fine@Sotos我知道这可能行得通,但我正在尝试格式化整个专栏,这不重要。试试这个df,非常感谢!我现在明白我做错了什么。有没有办法根据原始数据集中的年份来修正整列值?你确定吗?尝试df我添加了一行来进一步解释我的观点。当然,如果您定义了一个数据帧df
,它就会工作。然而,错误来自于未定义的dfdf
。如果未定义,他们为什么要调用它?没有道理。这个问题的提问方式表明,所构建的数据名为df
。问题中说:“我在一个名为crimedata的数据集中有以下列CMPLNT\u FR\u DT”。非常感谢!我现在明白我做错了什么。有没有办法根据原始数据集中的年份来修正整列值?你确定吗?尝试df我添加了一行来进一步解释我的观点。当然,如果您定义了一个数据帧df
,它就会工作。然而,错误来自于未定义的dfdf
。如果未定义,他们为什么要调用它?没有道理。这个问题的提问方式表明,所构建的数据名为df
。问题中说:“我在一个名为crimedata的数据集中有以下列CMPLNT\u FR\u DT”。