簡體   English   中英

如何避免R自動將日期轉換為數字?

[英]How to avoid R converting dates to numeric automatically?

如何避免R在for循環中將日期轉換為數字? 這與此問題有關,該問題顯示了 mapply 禁用 mapply 自動將日期轉換為數字的相同行為

date <- c('2008-02-20','2009-10-05')
date <- as.Date(date, format = '%Y-%m-%d')
date
[1] "2008-02-20" "2009-10-05"
for (i in date) print(i)
[1] 13929
[1] 14522

禁用 mapply 自動將日期轉換為數字

編輯

我重新打開了這個問題,因為重復循環在日期時間對象上導致數字迭代器詢問為什么R 循環將日期和日期時間對象轉換為數字,這個問題詢問如何避免這種行為。 答案是解決問題的關鍵,與副本中的已接受答案和其他答案不同,它們正確地回答了其他問題。

for循環將序列強制轉換為向量,除非它是向量、列表或其他一些東西。 date不是向量,也沒有日期向量這樣的東西。 所以你需要as.list來保護它免受強制轉換為向量:

for (d in as.list(date)) print(d)

暫無
暫無

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

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