我想在其incommon row.names上合并两个不同长度的矩阵,并带有一个函数:
我的第一个矩阵(T)看起来与此相似:
1 2 3 4
1 -4 3 2 2
1 2 1 1 5
2 3 -2 4 6
2 -2 1 -1 -9
现在我想将这个函数加入到我的新矩阵(M)中,但是在这个矩阵中应该只有匹配行的colsum,其中> = 0加1:
1 2 3 4
1 2 3 3 3
2 2 2 2 2
我尝试了以下公式,我在论坛中找到了这个公式,但它不起作用:
merge.default(as.data.frame(M), as.data.frame(T), by = "row.names", function(x){colSums(T[,]>0)+1})
你有一个想法,我的错误在哪里?
非常感谢
编辑:我想要的输出是我的Matrix T,现在是空的:
现在:
1 2 3 4
1
2
合并后的T现在已经填充了函数:
colsums(T[,] >=0)+1
1 2 3 4
1 2 3 3 3
2 2 2 2 2
T [1,1] = 2,因为矩阵M中有1个值> = 0然后我加1
T [2,1] = 3:两个值> = 0且加1