我发现了一些令人费解的行为。给出50个日期列表:
structure(c("15513", "12830", "16503", "-3628", "15833", "13553",
"473", "17126", "7916", "74", "4736", "7712", "12726", "8684",
"16217", "14725", "11836", "7061", "4687", "8733", "17176", "17175",
"16155", "14005", "14635", "-1793", "4296", "15316", "4746",
"6865", "14228", "5177", "4543", "1936", "10372", "-1393", "13648",
"17267", "9177", "10380", "9427", "9527", "-1375", "2133", "13966",
"336", "1925", "9611", "15601", "9218"), class = "Date")
我跑了这个:
head(sort(b), 1) ## prints "1960-01-26"
tail(sort(b), 1) ## prints "2017-04-11"
max(b) ## prints "1996-04-25"
min(b) ## prints "1966-03-28"
但令我感到困惑的是,当所有打印值都在一个列表中时,max
和min
会返回预期结果。
dc = as.Date(c("1960-01-26", "2017-04-11", "1996-04-25", "1966-03-28"))
max(dc) ## prints "2017-04-11"
min(dc) ## prints "1960-01-26"
这是为什么?
答案 0 :(得分:0)
min()和max()函数仅用于输入类“数字” 您的示例中的向量我类“日期”。 对于:
structure(min(as.numeric(example)), class ="Date")
“示例”是你的矢量,你得到了正确的解决方案......
希望这说清楚。
干杯