Mydata有一个带时间的日期。
Date:
2008-04-21 11:00:00
NA
NA
2008-04-20 11:00:00
str(Mydata)
说日期是POSIXct。所以我试图创建一个新的变量。
myData$Date2 <- ifelse(is.na(Mydata$OtherVariable), NA, Mydata$Date)).
如果OtherVariable是NA,我想创建一个新的变量,它是NA,如果不是,则确切地说是Mydata$Date。但Mydata$Date给了我一个像1.24e+09这样的数字,可能无法识别日期POSIXct。我试过用.POSIXct(Mydata$Date(,但不起作用。
如果要使用ifelse
,请使用类型严格且不会将时间更改为数字的dplyr::if_else
。
Mydata$Date2 <- dplyr::if_else(is.na(Mydata$OtherVariable),
as.POSIXct(NA, tz = 'UTC'), Mydata$Date)
或者在R基中不使用ifelse
的另一种方法是:
Mydata$Date2 <- as.POSIXct(NA, tz = 'UTC')
inds <- !is.na(Mydata$OtherVariable)
Mydata$Date2[inds] <- Mydata$Date[inds]