【问题标题】:case-control matching on exact age and gender精确年龄和性别的病例对照匹配
【发布时间】:2020-12-06 01:54:27
【问题描述】:

我正在进行病例对照研究,我希望以 1:10 的比例将病例与对照的确切年龄和性别进行匹配 我的案例是 21,我的控件超过 40,000

out <- NULL
for (i in 1: length(patient_HRV[,10]) ){
  g <-patient_HRV$SEX[i]
  y <-patient_HRV$Age[i]
  
  
  x <- sample((which(control_HRV$Sex==g & control_HRV$Age>=y-1 & control_HRV$Age<=y+1)), size=5 )
  out <- c(out, x); 
  out <- out[!duplicated(out)]
  if (duplicated(out)=="TRUE")
    i=i-1;
  out = out(size(out)-1,);
  end
}

我收到此错误

Error in sample.int(length(x), size, replace, prob) : 
  invalid first argument

我的数据是这样的

 PatientID  Age MeanRR  MeanBPM MedianRR    MedianBPM   MinRR   MinBPM  MaxRR   MaxBPM  SDNN    RMSSD   SEX
1527326001  56    1257    57.69     1452    41.32         422   40.38   1486    142.18  397.34  468 Female
1527326001  56    1257    57.69     1452    41.32         422   40.38   1486    142.18  397.34  468 Female

【问题讨论】:

  • 你能展示一个可重现的小例子吗

标签: r match


【解决方案1】:

该消息表示which(control_HRV$Sex==g &amp; control_HRV$Age&gt;=y-1 &amp; control_HRV$Age&lt;=y+1) 中没有匹配项。您不能从空总体中抽取 5 个元素。

你从这个更简单的例子中得到同样的信息:

> sample(numeric(), 5)
Error in sample.int(length(x), size, replace, prob) : 
  invalid first argument

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-12
    • 1970-01-01
    • 1970-01-01
    • 2018-07-23
    • 1970-01-01
    • 2010-10-19
    • 1970-01-01
    • 2015-12-23
    相关资源
    最近更新 更多