[英]Calculating age in R from dob
我是R的新手,但是在發布之前我已經搜索了很多這個主題,因為google和stackoverflow中有很多結果。
我的數據框有3041行和幾列,DDN是葡萄牙語的出生日期。
我已嘗試過其他主題的所有這些解決方案,但這些解決方案都沒有。
Age <- function(dob, age= today(), units = "years", floor = TRUE) {
calc.age = new_interval(DDN, idade) / duration(num = 1, units = units)
if (floor) return(as.integer(floor(calc.age)))
return(calc.age)}
Age <- as.Date (P4PA$DDN)
P4PA$Idade <- floor(age_calc(P4PA$DDN, units = "years"))
Age <- as.numeric(format(as.Date(Sys.time()),format="%Y"))-as.numeric(format(as.Date(DDN,format="%m/%d/%Y"),format="%Y"))
yourdata$age <- floor(age_calc(yourdata$birthdate, units = "years"))
age = function(from, to) {
from_lt = as.POSIXlt(from)
to_lt = as.POSIXlt(to)
age = to_lt$year - from_lt$year
ifelse(to_lt$mon < from_lt$mon |
(to_lt$mon == from_lt$mon & to_lt$mday < from_lt$mday),
age - 1, age)
}
And this: http://blog.jsonbecker.com/2013/06/calculating-age-in-r.html
head(P4PA) DDN 4/22/1956 12/26/1964 4/16/1963 1/28/1970 7/15/1972 1/18/1956
class(P4PA$DDN)
"factor"
我需要用3041個觀察結果來計算這個專欄的年齡,但我無法弄清楚如何。 我試圖將DDN類更改為數字,但會出現帶有錯誤的消息。 我真的不知道該怎么做了。 我覺得這很容易。
謝謝
首先,將您鏈接到R控制台(或RStudio控制台) 的博客文章中的函數age_calc
復制並粘貼,然后按“Enter”進行存儲。
該函數有3個參數:dob,enddate和units。 dob
參數需要是Date
類。 單位可以是天,月或年。 假設您需要多年,這應該為您的數據框添加列age
:
P4PA$age <- age_calc(as.Date(P4PA$DDN, "%m/%d/%Y"), units = "years")
P4PA
DDN age
1 4/22/1956 60
2 12/26/1964 52
3 4/16/1963 53
4 1/28/1970 47
5 7/15/1972 44
6 1/18/1956 61
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.