R 我正在做一项病例对照研究,我想通过一些重要变量,以1:5的比例将病例与对照进行匹配。但是,什么时候?

R 我正在做一项病例对照研究,我想通过一些重要变量,以1:5的比例将病例与对照进行匹配。但是,什么时候?,r,duplicates,matching,R,Duplicates,Matching,我正在做一项病例对照研究,我想通过一些重要变量,以1:5的比例将病例与对照进行匹配。但是,当我尝试这样做时,我的数据集中会出现许多重复的控件。有人知道如何在运行for循环时删除r中的重复项吗 案例=案例数据集 con=控制数据集 到目前为止,我的代码如下所示: out <- NULL for (i in 1: length(case[,5]) ){ g <-case$Sex[i] y <-case$Age[i] x <- sample((which(con$Sex

我正在做一项病例对照研究,我想通过一些重要变量,以1:5的比例将病例与对照进行匹配。但是,当我尝试这样做时,我的数据集中会出现许多重复的控件。有人知道如何在运行for循环时删除r中的重复项吗

  • 案例=案例数据集
  • con=控制数据集
到目前为止,我的代码如下所示:

out <- NULL
for (i in 1: length(case[,5]) ){
g <-case$Sex[i]
y <-case$Age[i]


x <- sample((which(con$Sex==g & con$Age>=y-1 & con$Age<=y+1)), size=5 )
out <- c(out, x)
if (duplicated(out)=="TRUE")
    i=i-1;
    out = out(size(out)-1,);
end
}

out删除重复值通常您会使用
unique()
。请提供一个可复制的输入和输出示例,例如使用dput()`我会在问题中使用
out@akash87而不使用
dplyr
,假设
base
版本是非常安全的。另外,
dplyr
函数是
sample\u n
sample\u group
sample\u frac
,不仅仅是
sample
。非常感谢@akash87,它起了作用。要删除重复的值,通常使用
unique()
。请提供输入和输出的可复制示例,例如使用dput()`我会在问题中使用不带dplyr的
out@akash87,假设
base
版本是非常安全的。另外,
dplyr
函数还有
sample\u n
sample\u group
sample\u frac
,而不仅仅是
sample
。非常感谢@akash87,它起到了作用。