写一段R代码已知某一地区2014-2021年所有癌症发病的发病日期、死亡日期、生存状态1为存活、2为死亡、最后接触日期、年龄、性别以及该地区的1岁为间隔的完全寿命表利用ICSS结构进行年龄标化采用现时法计算2019年的5年生存率
以下是一个使用R语言进行年龄标准化和计算5年生存率的示例代码:
# 导入所需的包
library(survival)
library(mortality)
library(dplyr)
# 创建一个示例数据框
data <- data.frame(
disease_date = c("2014-01-01", "2015-02-03", "2016-05-12", "2017-09-20", "2018-11-10"),
death_date = c("2015-03-04", "2016-04-06", "2017-07-15", "2018-12-25", "2019-10-31"),
survival_status = c(2, 2, 1, 2, 1),
last_contact_date = c("2015-02-20", "2016-03-20", "2017-06-20", "2018-12-20", "2019-10-20"),
age = c(50, 52, 55, 60, 65),
gender = c("Male", "Female", "Male", "Female", "Male")
)
# 转换日期格式
data$disease_date <- as.Date(data$disease_date)
data$death_date <- as.Date(data$death_date)
data$last_contact_date <- as.Date(data$last_contact_date)
# 计算每个个体的存活时间
data$survival_time <- ifelse(data$survival_status == 1, data$last_contact_date - data$disease_date, data$death_date - data$disease_date)
# 创建一个完全寿命表
life_table <- mortality::mx_lookup(table = "USA", year = 2021) # 使用美国的完全寿命表作为示例
# 通过ICSS结构进行年龄标准化
age_std <- standardize_rate(data$age, data$survival_time, life_table)
# 计算2019年的5年生存率
survival_5yr <- survfit(Surv(survival_time, survival_status) ~ 1, data = data)
survival_2019 <- summary(survival_5yr, times = 5, extend = TRUE)$surv
# 输出结果
print(age_std)
print(survival_2019)
请注意,这只是一个示例代码,你需要根据你的实际数据进行相应的调整。代码中的示例数据是一个包含了某地区2014-2018年的癌症患者信息的数据框,完全寿命表使用了美国的数据,你需要根据你所在地区的数据进行调整
原文地址: https://www.cveoy.top/t/topic/hPR0 著作权归作者所有。请勿转载和采集!