年份为因子类型。我想转换为日期。如何将其转换为日期?数据集图像
假设您有:
my_df <- data.frame(year = as.factor(c("1983-84", "1984-85")))
您可以使用提取年末
my_df$year_num = as.numeric(substr(as.character(my_df$year), 1, 4)) + 1
这取year
变量(一个因子(,根据其标签将其转换为字符,提取前4个字符(起始年份(,转换为数字,然后加一。如果您希望year_num
显示起始年份,请跳过最后一步。
您也可以指定一个特定的日期,比如财政年度的最后一天(假设这里是6月30日(,使用:
my_df$FY_end = as.Date(paste0(my_df$year_num, "-06-30"))
结果
year year_num FY_end
1 1983-84 1984 1984-06-30
2 1984-85 1985 1985-06-30
> str(my_df)
'data.frame': 2 obs. of 3 variables:
$ year : Factor w/ 2 levels "1983-84","1984-85": 1 2
$ year_num: num 1984 1985
$ FY_end : Date, format: "1984-06-30" "1985-06-30"