我有一個矩陣mat
。R:計數矩陣行的匹配數
mat<-matrix(
c('a','a','b','a','b','b'),
nrow=3, ncol=2)
我想使計數匹配的向量的矩陣的每一行。例如,假設我想計算每行中的字母a
的匹配數。矩陣的第一行有一個a
,a
:兩個匹配的a
。矩陣的第二行有一個a
,b
:一個匹配的a
。
我可以用這行代碼數字符a
的匹配數量連續:
sum(!is.na(charmatch(mat[1,c(1,2)],"a"))) # first row, returns 2
sum(!is.na(charmatch(mat[2,c(1,2)],"a"))) # second row, returns 1
我想向量化這個計數程序。換句話說,我想要做這樣的事情
as.vector(rowsum(!is.na(charmatch(mat[,c(1,2)], "a"))))
,以便它返回這樣2,1,0
這意味着在矩陣的第1行的a
2場比賽,在矩陣的2列1個匹配的a
矢量,在矩陣的第3行中匹配a
。
謝謝。這正是我所期待的。 – cooldood3490 2014-12-04 03:33:42
@AnandaMahto謝謝,我會更新它。 – akrun 2014-12-04 04:00:15