我有一个矩阵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