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.。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。