【发布时间】:2020-07-31 15:28:26
【问题描述】:
我在使用数据集中的日期变量创建 6 个月时间段的类别时遇到问题。我想为 2017-1-1 和 2020-6-30 之间的年份创建这些时间段类别。每年的时间段类别为 2017 年 1 月 1 日至 2017 年 6 月 30 日,以及 2017 年 7 月 1 日至 2017 年 12 月 31 日至 2020 年 6 月 30 日。 我使用了以下两种类型的代码来创建日期类别,但我收到了类似的错误:
#CODE1
#checking for date class
myData <- str(myData)
myData #date in factor class
#convert to date class
date_class <- as.Date(myData$date, format = "%m/%d/%Y")
myData$date_class <- as.Date(myData$date, format = "%m/%d/%Y")
myData
#creating timeperiod category 1
date_cat <- NA
myData$date_cat[which(myData$date_class >= "2017-1-1" & myData$date_class < "2017-7-1")] <- 1
#CODE2
#converting to date format
myData$date <- strptime(myData$date,format="%m/%d/%Y")
myData$date <- as.POSIXct(myData$date)
myData
#creating timeperiod category 1
date_cat <- NA
myData$date_cat[which(myData$date >= "2017-1-1" & myData$date < "2017-7-1")] <- 1
对于这两个代码,我都遇到了类似的错误
$<-.data.frame(*tmp*, date_cat, value = numeric(0)) 中的错误:
替换有0行,数据有1123
请帮助我了解我哪里出错了。
谢谢, 普里亚
【问题讨论】:
-
您的截止日期需要使用 as.Date() 指定为日期,并且应该有两位数的月份和日期(
as.Date(2017-01-01)不是2017-1-1)
标签: r date categories