这可能非常简单,但我在任何地方都找不到简单的解决方案。我正在尝试在 R 中创建一个脚本来计算一列中属于指定另一列的 3 个类别之一的条目。我有一份带有 ID 号(同一 ID 有多个条目)的临床患者列表,这些患者已被两项服务(a 或 b)看到。我需要知道服务 a 和服务 b 和服务 c 看到了多少 ID,但只计算一次服务的重复访问(所以基本上是每个服务至少使用过一次的患者数量) - 希望这使得有道理,这里举个例子来说明。
例子:
身份证类别 A001一 A002一 A002一 A002 乙 A003 乙 A003 乙 A005 c A001一 A004 乙 A004 乙 A006 c A006一
输出应该是这样的:
a=3 b=3 c=2
这就是我所做的,但我很卡住,这可能一点都不好!
DataString<- matrix(nrow=dim(refnum)[1], ncol=1)
for (i in 1:dim(refnum)[1]){
DataString[i,1]<- paste(refnum[i,], collapse = '')
}
#generate vector of unique strings
uniqueID<- unique(DataString)
#create new matrix to store new IDs
newID<- matrix(nrow=dim(data)[1], ncol=1)
#initiate index n
n<-0
#loop through unique strings
for (i in 1:dim(refnum)[1]){
#increment n by 1 for each increment through unique strings
n<- n+1
#loop through data rows
for (j in 1:dim(data)[1]){
#find matches with string i
index<- which(DataString == uniqueID[i,1])
#assign new ID to matching rows
newID[index,1]<- n
}
}