這可能非常微不足道,但我無法在任何地方找到簡單的解決方案。我正在嘗試在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