R 将日期组转换为连续整数
我有下面的示例数据集,我想将每个日期组转换为一个整数,其中最早的日期从1开始,并且对于每个新的日期组连续增长。任何帮助都将不胜感激R 将日期组转换为连续整数,r,dplyr,R,Dplyr,我有下面的示例数据集,我想将每个日期组转换为一个整数,其中最早的日期从1开始,并且对于每个新的日期组连续增长。任何帮助都将不胜感激 dateA = c("5/8/2020","5/8/2020", "5/8/2020", "5/9/2020","5/9/2020", "5/9/2020", "5/9/2020", "5/10/2020","5/10/2020", "5/10/2020", "5/11/2020") varA = c(2,3,4,9,10,11,12,20,21,22,55) da
dateA = c("5/8/2020","5/8/2020", "5/8/2020", "5/9/2020","5/9/2020", "5/9/2020", "5/9/2020", "5/10/2020","5/10/2020", "5/10/2020", "5/11/2020")
varA = c(2,3,4,9,10,11,12,20,21,22,55)
data = data.frame(dateA,varA)
当前尝试
library(dplyr)
data = data %>%
mutate(varA = as.integer(factor(dateA)))
dateA varA
1 5/8/2020 3
2 5/8/2020 3
3 5/8/2020 3
4 5/9/2020 4
5 5/9/2020 4
6 5/9/2020 4
7 5/9/2020 4
8 5/10/2020 1
9 5/10/2020 1
10 5/10/2020 1
11 5/11/2020 2
一个选项是
match
library(dplyr)
data %>% mutate(varA = match(dateA, unique(dateA)))
或具有指定的水平的系数
data %>%
mutate(varA = as.integer(factor(dateA, levels = unique(dateA)))
data %>%
mutate(varA = as.integer(factor(dateA, levels = unique(dateA)))