0

我对同一个样本有几个测量日期。我想弄清楚我的第一天和第 2、3、4 天……直到第 6 天。

这是数据

首先我把data$start它分开

#split timestamp into separate date and time vars
temp<-strsplit(as.character(data$start), " ")
mat<-matrix(unlist(temp), ncol=2, byrow=TRUE)
df<-as.data.frame(mat)
colnames(df)<-c("date", "time")
data<-cbind(df, data)

然后

data$date<-as.Date(data$date, "%Y-%m-%d")
data$dob <- ave(as.numeric(data$date), data$mcode, FUN = min)
data$dob <- data$dob - 1
data$pnday <- as.numeric(data$date) - data$dob

pnd 和 dob 列都有一个 NA - 如果这很愚蠢,很抱歉,有什么想法吗?

我不熟悉在 R 中处理日期/时间

4

1 回答 1

0

如果您将数据格式化为xts,它将自动按日期从第一个到最后一个排序。为此,您需要将时间戳读数放入 POSIXct 实例中,并将它们传递给其构造函数的 order.by 参数。我希望这可以帮助你。如果您需要进一步的帮助,请发表评论,我将深入研究您的数据。

于 2013-05-10T22:06:05.243 回答