neardate
位于 survival
包(package)。 说明
医疗工作中的一项常见任务是为每个受试者找到最接近某个索引日期的实验室值。
用法
neardate(id1, id2, y1, y2, best = c("after", "prior"),
nomatch = NA_integer_)
参数
id1 |
索引组的主题标识符向量 |
id2 |
参考组的标识符向量 |
y1 |
通常是索引组的日期向量,但允许任何可排序的数据类型 |
y2 |
参考日期集 |
best |
如果 |
nomatch |
不匹配的项目返回的值 |
细节
此例程与 match
和 findInterval
密切相关,其中第一个找到完全匹配,第二个找到最接近的匹配。这会在完全匹配的标识符集中找到最接近的匹配日期。临床研究中经常需要最接近的日期匹配。例如,数据集 1 可能包含受试者标识符和某些程序的日期,数据集 2 包含实验室测试的日期和值,查询是查找干预后但不超过 7 天的第一个测试值。
id1
和 id2
参数与 match
类似,因为我们正在搜索将在 id2
中找到的 id1
实例,并且结果与 id1
的长度相同。但是,此例程返回与 y1
最佳匹配的匹配项,而不是返回与 id2
的第一个匹配项。
y1
和 y2
参数不必是日期,该函数适用于任何数据类型,以便表达式 c(y1, y2)
给出合理的、可排序的结果。请注意匹配日期和 DateTime 值以及时区的影响,但请参阅 as.POSIXct
。如果y1
和y2
不属于同一类别,则用户自行处理。由于存在结果可能合理的成对的不匹配数据类型,因此在这种情况下,例程将在“用户知道他们在做什么”的假设下继续进行。买者自负。
值
第二个数据集中匹配观测值的索引,或 nomatch
值(表示未成功匹配)
例子
data1 <- data.frame(id = 1:10,
entry.dt = as.Date(paste("2011", 1:10, "5", sep='-')))
temp1 <- c(1,4,5,1,3,6,9, 2,7,8,12,4,6,7,10,12,3)
data2 <- data.frame(id = c(1,1,1,2,2,4,4,5,5,5,6,8,8,9,10,10,12),
lab.dt = as.Date(paste("2011", temp1, "1", sep='-')),
chol = round(runif(17, 130, 280)))
#first cholesterol on or after enrollment
indx1 <- neardate(data1$id, data2$id, data1$entry.dt, data2$lab.dt)
data2[indx1, "chol"]
# Closest one, either before or after.
#
indx2 <- neardate(data1$id, data2$id, data1$entry.dt, data2$lab.dt,
best="prior")
ifelse(is.na(indx1), indx2, # none after, take before
ifelse(is.na(indx2), indx1, #none before
ifelse(abs(data2$lab.dt[indx2]- data1$entry.dt) <
abs(data2$lab.dt[indx1]- data1$entry.dt), indx2, indx1)))
# closest date before or after, but no more than 21 days prior to index
indx2 <- ifelse((data1$entry.dt - data2$lab.dt[indx2]) >21, NA, indx2)
ifelse(is.na(indx1), indx2, # none after, take before
ifelse(is.na(indx2), indx1, #none before
ifelse(abs(data2$lab.dt[indx2]- data1$entry.dt) <
abs(data2$lab.dt[indx1]- data1$entry.dt), indx2, indx1)))
作者
Terry Therneau
也可以看看
相关用法
- R nsk 以结高度为基础的自然样条。
- R nafld 非酒精性脂肪肝
- R nwtco 来自国家肾母细胞瘤研究的数据
- R hoel 小鼠癌症数据
- R survcondense 缩短 (time1, time2) 生存数据集
- R myeloid 急性粒细胞白血病
- R tobin 托宾的托比特数据
- R pseudo 生存的伪值。
- R levels.Surv 返回多状态 Surv 对象的状态
- R rats Mantel 等人的大鼠治疗数据
- R diabetic 糖尿病视网膜病变
- R pbc 梅奥诊所原发性胆汁性胆管炎数据
- R plot.survfit survfit 对象的绘图方法
- R kidney 肾导管数据
- R stanford2 更多斯坦福心脏移植数据
- R print.aareg 打印 aareg 对象
- R pyears 人年
- R residuals.survreg 计算“survreg”对象的残差
- R cgd0 慢性肉芽肿病数据
- R mgus2 单克隆丙种球蛋白病数据
- R model.frame.coxph coxph 对象的 Model.frame 方法
- R brier 计算 Cox 模型的 Brier 分数
- R survSplit 在指定时间分割生存数据集
- R mgus 单克隆丙种球蛋白病数据
- R summary.pyears pyears 对象的汇总函数
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Find the index of the closest value in data set 2, for each entry in data set one.。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。