R函数产生年份列

时间:2018-10-08 14:56:26

标签: r

我正在尝试产生一个将年份列放入数据框中的函数。

我可以使用以下功能来执行此操作:

#Create a dataframe with some dates in it. 
y<-data.frame(Date=(sample(seq(as.Date('2010/01/01'),as.Date('2018/01/01'), by="day"), 20)))      

#create the year column
library(lubridate)
y$Year<-year(y$Date)

当我尝试将其包装到函数中时,什么也没发生:

#Create a dataframe with some dates
x<-data.frame(Date=(sample(seq(as.Date('2010/01/01'), as.Date('2018/01/01'), by="day"), 20)))

#Create the function
yearfunction<-function(dataframe, datecolumn)
{dataframe$Year<- year(dataframe[,datecolumn])
}

#Call the function
yearfunction(x, "Date")

我想要发生的是获得与第一个示例相同的结果。谁能帮助我修改功能以实现这一目标?

1 个答案:

答案 0 :(得分:0)

您可以这样写ko.cleanNode($('#layered-filter-block')); ko.applyBindings($('#layered-filter-block'));

yearfunction

或者我们也可以在函数中使用library(lubridate) yearfunction<-function(dataframe, datecolumn) { year(dataframe[,datecolumn]) } y$Year <- yearfunction(y, "Date") y # Date Year #1 2013-09-18 2013 #2 2013-09-26 2013 #3 2012-10-25 2012 #4 2012-05-14 2012 #5 2017-03-01 2017 #6 2016-07-10 2016 #7 2015-02-21 2015 #8 2010-07-28 2010 #9 2013-01-31 2013 #10 2012-01-31 2012 #.....

transform