[程式] R 計算年齡的詭異問題
------------------------------------------------------------------------
[軟體程式類別]:
R
[程式問題]:
時間日期換算
[軟體熟悉度]:
低(1~3個月)
[問題敘述]:
小弟在計算年齡的時候出現奇怪的問題
因為我拿到的資料是出生年月日和觀測終止的時間
所以計算年齡的時候需要換算
於使寫了下面這個小程式
HD <- strptime(da$V8, "%Y/%m/%d")
TD <- strptime(da$V10, "%Y/%m/%d")
age <- round((HD-TD)/365.25, digits = 0)
原始資料裡只有一筆 NA 值
但程式跑完後卻意外多了10筆 NA 值
把矩陣中 NA 的位置調出來看
> HD[which(is.na(age))]
[1] "1992-03-03" "1991-10-15" "1991-11-09" "1991-12-14" "1991-08-24"
"1991-03-09" "1992-12-12" "1992-05-08" "1992-07-10" "1991-07-22"
> TD[which(is.na(age))]
[1] "1954-04-01" "1956-04-01" "1953-04-01" "1956-04-01" NA
"1949-05-01" "1945-05-01" "1956-04-01" "1956-04-01" "1951-05-01"
發現竟然都是出現在4月1日跟5月1日的地方
試了好久完全不知道怎麼解決......orz
-----------------------------------------------------------------------------
請問有沒有高手知道這到底是怎麼回事
謝謝~
--
再示範一次標題地雷殺人法:
下邳城曹操鏖兵 白門樓呂布殞命
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.74.80
→
11/28 12:49, , 1F
11/28 12:49, 1F
→
11/28 13:01, , 2F
11/28 13:01, 2F
→
11/28 13:02, , 3F
11/28 13:02, 3F
→
11/28 13:26, , 4F
11/28 13:26, 4F
改好了~
其實就是兩個日期換算成天數之後相減卻算不出來
其他資料都可以,但就是出現了4/1跟5/1的結果會出現 NA
謝謝~
※ 編輯: realmiddle 來自: 140.109.74.80 (11/28 14:04)
→
11/28 14:34, , 5F
11/28 14:34, 5F
→
11/28 14:34, , 6F
11/28 14:34, 6F
→
11/28 14:35, , 7F
11/28 14:35, 7F
→
11/28 14:36, , 8F
11/28 14:36, 8F
→
11/28 14:36, , 9F
11/28 14:36, 9F
→
11/28 14:37, , 10F
11/28 14:37, 10F
→
11/28 14:38, , 11F
11/28 14:38, 11F
→
11/28 14:42, , 12F
11/28 14:42, 12F
→
11/28 14:42, , 13F
11/28 14:42, 13F
→
11/29 02:58, , 14F
11/29 02:58, 14F
→
11/29 03:00, , 15F
11/29 03:00, 15F
→
11/29 03:01, , 16F
11/29 03:01, 16F
→
11/29 10:35, , 17F
11/29 10:35, 17F
→
11/29 13:33, , 18F
11/29 13:33, 18F