这可能非常微不足道,但我无法在任何地方找到简单的解决方案。我正在尝试在R中创建一个脚本来对一列中的条目进行计数,这些条目属于指定另一列的3个类别之一。我有两个服务(a或b)已经看到的身份证号码的临床患者名单(相同身份证的多个条目)。我需要知道服务a,服务b和服务c已经看到了多少ID,但是只有一次服务重复访问的次数(基本上每个服务使用至少一次的患者数量) - 希望这可以使感觉,这里是一个例子来解释。在R的另一列中指定3个类别的条目一次计数
例子:
ID Category A001 a A002 a A002 a A002 b A003 b A003 b A005 c A001 a A004 b A004 b A006 c A006 a
输出应该是这样的:
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
}
}
您的问题序言部分提到“*已被两种服务(a或b)*看到”,但您的“类别”列中有三种“服务”。这是一个错字吗? – A5C1D2H2I1M1N2O1R2T1 2013-02-20 17:25:38