簡體   English   中英

從dob計算R中的年齡

[英]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.

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