这是我关于stackoverflow的第一个问题,我是一名新手R程序员。我有一个数据框,其中有一列“年”的值从 1985 年到 2012 年。这些默认情况下作为我的 csv 文件中的一个因素导入(这可能是我的第一个问题)。我想为日期大于 2008 年的所有行创建一个新向量“Modern”,其值为 1。换句话说,我想用“1”表示 2009-2012 年的所有数据。
这是我目前的解决方案:
yearnum<-as.Date(year,format="%Y")
Modern<-ifelse(yearnum>"2008-12-30",1,0)
它有效,但我有一些问题。1. 我尝试使用该as.numeric
函数,但没有给我一个像 2006 这样的值,而是从 1 开始按年份重新编号。这是为什么呢?2、因为我最终使用了这个as.Date
函数,所以R把月份和日期默认为今天的月份和日期。我是否可以通过只保留年份或至少记录 1/1/yyyy 来避免这种情况?
先感谢您。