在 R 中重新编码特定日期
recode specific dates in R
我想将数据集中的所有日期 2006-04-11 更改为 2006-04-01。我将日期变量转换为一个因子,将 2006-04-11 重新编码为 2006-04-01,然后将变量重新转换回 class = date。
当变量是一个因子时重新编码有效(所有 2006-04-11 日期都更改为 2006-04-01),但在转换回 class = 日期后,变量再次出现作为 2006-04-11。
将日期变量转换为因子并检查它是否有效。
data$review_date<-as.factor(data$review_date)
class(data$review_date)
将因子变量重新编码为我想要的日期 (2006-04-01) 并查看数据。
recode_factor(data$review_date, '2006-04-11' = "2006-04-01")
data$review_date
将变量从因子转换回日期,检查 class,并查看数据。
data$review_date <- as_date(data$review_date,"%y/%m/%d")
class(review_date)
str(data)
data$review_date
或者,我愿意完全删除所有日期的日期部分,但我还不知道该怎么做。
recode_factor()
不会更新 data
中的值。您必须重新分配结果,例如:
data$review_date <- recode_factor(data$review_date, '2006-04-11' = "2006-04-01")
...所以它可以覆盖原始值。
整个过程也可以只是一个简单的替换操作。例如:
data <- data.frame(review_date = as.Date(c("2006-04-11","2001-01-01")))
data$review_date[data$review_date == "2006-04-11"] <- "2006-04-01"
(是的,这将给出一个适当的 Date
class 变量)
我想将数据集中的所有日期 2006-04-11 更改为 2006-04-01。我将日期变量转换为一个因子,将 2006-04-11 重新编码为 2006-04-01,然后将变量重新转换回 class = date。
当变量是一个因子时重新编码有效(所有 2006-04-11 日期都更改为 2006-04-01),但在转换回 class = 日期后,变量再次出现作为 2006-04-11。
将日期变量转换为因子并检查它是否有效。
data$review_date<-as.factor(data$review_date)
class(data$review_date)
将因子变量重新编码为我想要的日期 (2006-04-01) 并查看数据。
recode_factor(data$review_date, '2006-04-11' = "2006-04-01")
data$review_date
将变量从因子转换回日期,检查 class,并查看数据。
data$review_date <- as_date(data$review_date,"%y/%m/%d")
class(review_date)
str(data)
data$review_date
或者,我愿意完全删除所有日期的日期部分,但我还不知道该怎么做。
recode_factor()
不会更新 data
中的值。您必须重新分配结果,例如:
data$review_date <- recode_factor(data$review_date, '2006-04-11' = "2006-04-01")
...所以它可以覆盖原始值。
整个过程也可以只是一个简单的替换操作。例如:
data <- data.frame(review_date = as.Date(c("2006-04-11","2001-01-01")))
data$review_date[data$review_date == "2006-04-11"] <- "2006-04-01"
(是的,这将给出一个适当的 Date
class 变量)