Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 从变量中选择重复案例_R_Select_Measure - Fatal编程技术网

R 从变量中选择重复案例

R 从变量中选择重复案例,r,select,measure,R,Select,Measure,我正在使用一个名为Visitas的数据库。它是一个来自医院的访问数据库,其中变量CODEP表示患者的代码。由于患者经常去医院,患者有多种措施。他们有多个度量值的变量称为结果,每次他们在结果变量中得到结果时,在变量codeep中使用相同的代码对患者进行编码 我想要的是从每个患者那里得到CODEP变量中的所有位置,以便从变量结果中得到每个患者的平均值 作为一个例子,我只为一名患者提供我想要的。我使用了它,作为回报,我得到了向量,以及这个代码在codeep变量中重复的位置。现在我想为所有的病人做这个,

我正在使用一个名为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&xL1&xVisitas <- 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)