查找每个人的最大或最小日期值

我有一个dataframe格式的R格式,表示每个人的不同访问日期(visitdate1,visitdate2,visitdate3等)。我正在尝试查找每个人的最新日期并将其保存为新列,但这似乎不起作用。

我检查了dataframe的类,并且每个visitdate已经被识别为Date,所以我不知道为什么代码不起作用。

这是我尝试的代码:

df1$latestdate <- pmax(as_date(df1$visitdate1),as_date(df1$visitdate2),as_date(df1$visitdate3))

我得到的错误如下:

  

as.Date.default(x,...)中的错误:     不知道如何将“ x”转换为“日期”类

问题是我要R查找每行的最大日期值,而不要转换任何日期(因为它已经是日期)。 但是,即使我将as_date排除在代码之外,我也会收到错误消息:

  

替换有0行,数据有120行。

任何有帮助的见解?提前致谢!顺便说一句,我是R的新手。:)

dagula6 回答:查找每个人的最大或最小日期值

下面,我提供一个示例,用于猜测您的数据的外观。 pmax可能不是最好的选择。

DATES = seq(as.Date('2011-01-01'),as.Date('2017-01-01'),"months") 

df = data.frame(id=1:10,visitdate1 = sample(DATES,10),visitdate2 = sample(DATES,visitdate3 = sample(DATES,10)
)
#set columns to find row Max
COLUMNS = c("visitdate1","visitdate2","visitdate3")
df$latestdate = apply(df[,COLUMNS],1,max)
本文链接:https://www.f2er.com/3153831.html

大家都在问