簡體   English   中英

返回的最大和最小日期不同於排序列表的頭部,尾部

[英]max and min dates returning different than head, tail of sorted list

我發現了一些令人費解的行為。 給出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"

但真正令我困惑的是當所有打印值都在一個列表中時, maxmin返回預期結果。

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"

為什么是這樣?

min()和max()函數僅用於類“numeric”的輸入。示例中的向量i類“Date”。 對於:

structure(min(as.numeric(example)), class ="Date")

“示例”是你的矢量,你得到了正確的解決方案......

希望這說清楚。

干杯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM