仅有年、月、日各一列,R语言怎么利用出生年月计算年龄
时间: 2024-09-07 10:06:18 浏览: 40
在R语言中,你可以使用`lubridate`包来处理日期数据并计算年龄。首先,确保安装并加载`lubridate`包。然后,可以使用`today()`函数获取当前日期,并与出生日期相结合来计算年龄。
以下是一个简单的示例代码:
```R
# 安装并加载lubridate包
install.packages("lubridate")
library(lubridate)
# 假设你有一个包含出生年、月、日的数据框df,列名分别为year, month, day
df <- data.frame(year = c(1990, 1992), month = c(1, 6), day = c(15, 20))
# 计算年龄的函数
calculate_age <- function(birth_year, birth_month, birth_day) {
# 获取当前日期
current_date <- make_date(year = birth_year, month = birth_month, day = birth_day)
# 计算年龄
age <- time_length(interval(birth_date, current_date), unit = "years")
return(age)
}
# 应用函数到数据框的每一行,计算年龄
df$age <- mapply(calculate_age, df$year, df$month, df$day)
# 查看结果
print(df)
```
在上述代码中,`mapply`函数被用于将`calculate_age`函数应用于数据框`df`的每一行。这会为每个人计算出他们的年龄,并将计算结果存储在`df`的新列`age`中。
确保你的数据框`df`中的`year`、`month`和`day`列是整数类型。