R 从变量中选择重复案例
我正在使用一个名为Visitas的数据库。它是一个来自医院的访问数据库,其中变量CODEP表示患者的代码。由于患者经常去医院,患者有多种措施。他们有多个度量值的变量称为结果,每次他们在结果变量中得到结果时,在变量codeep中使用相同的代码对患者进行编码 我想要的是从每个患者那里得到CODEP变量中的所有位置,以便从变量结果中得到每个患者的平均值 作为一个例子,我只为一名患者提供我想要的。我使用了它,作为回报,我得到了向量,以及这个代码在codeep变量中重复的位置。现在我想为所有的病人做这个,自动化 为了得到这个,我尝试了一个循环,但它不工作,但可能是我的代码R 从变量中选择重复案例,r,select,measure,R,Select,Measure,我正在使用一个名为Visitas的数据库。它是一个来自医院的访问数据库,其中变量CODEP表示患者的代码。由于患者经常去医院,患者有多种措施。他们有多个度量值的变量称为结果,每次他们在结果变量中得到结果时,在变量codeep中使用相同的代码对患者进行编码 我想要的是从每个患者那里得到CODEP变量中的所有位置,以便从变量结果中得到每个患者的平均值 作为一个例子,我只为一名患者提供我想要的。我使用了它,作为回报,我得到了向量,以及这个代码在codeep变量中重复的位置。现在我想为所有的病人做这个,
which(Visitas[,'codeep'] == 6208)
# One loop
for (i in Visitas[, 'codeep']) {
Visitas_TRT[i] <- which(Visitas$codeep[i] == Visitas$codeep)
}
# Double loop
for (i in Visitas[, 'codeep']) {
for (j in Visitas[, 'codeep']) {
Visitas_TRT <- which(Visitas$codeep[i] == Visitas$codeep[j])
}
}
有什么想法吗
似乎您正在寻找ave,使用ave可以创建一个变量,其中包含每个CODEP的结果平均值
数据:
似乎您正在寻找ave,使用ave可以创建一个变量,其中包含每个CODEP的结果平均值
数据:
是的,我认为它可以工作,它很简单,但我不知道这个函数。非常感谢你@抱歉,你在这里写的没问题,但我想从每位患者那里得到所有的值,除了得到平均值。因为我必须计算患者处于极限之间的次数的百分比,而不仅仅是平均值。你知道我怎么能得到这个吗@松鸦。sf@CarlosPascualBosch可以在ave中定义任何函数,也可以定义匿名函数,如FUN=functionx sumx>L1&x
Visitas <- transform(Visitas, result.M=ave(result, codeep, FUN=mean))
Visitas
# codeep today result result.M
# 1 1 1 6.4 5.866667
# 2 2 1 4.4 6.066667
# 3 3 1 5.4 4.633333
# 4 4 1 5.6 5.766667
# 5 5 1 5.4 5.066667
# 6 1 2 4.9 5.866667
# 7 2 2 6.5 6.066667
# 8 3 2 4.9 4.633333
# 9 4 2 7.0 5.766667
# 10 5 2 4.9 5.066667
# 11 1 3 6.3 5.866667
# 12 2 3 7.3 6.066667
# 13 3 3 3.6 4.633333
# 14 4 3 4.7 5.766667
# 15 5 3 4.9 5.066667
Visitas <- expand.grid(codeep=1:5, today=1:3)
set.seed(42)
Visitas$result <- round(rnorm(nrow(Visitas), 5), 1)