如何使用R以百分比表示两列的相似性?
我有一个简单的问题,我股票在它! 我有两个data.frames,我想比较它们,并用百分比表示它们的相似性,但我不知道怎么做 下面是一个简单的例子:如何使用R以百分比表示两列的相似性?,r,matrix,percentage,similarity,R,Matrix,Percentage,Similarity,我有一个简单的问题,我股票在它! 我有两个data.frames,我想比较它们,并用百分比表示它们的相似性,但我不知道怎么做 下面是一个简单的例子: a <- as.matrix(rbinom(10,1,1/2)) b <- as.matrix(rbinom(10,1,1/2)) > a [,1] [1,] 1 [2,] 0 [3,] 1
a <- as.matrix(rbinom(10,1,1/2))
b <- as.matrix(rbinom(10,1,1/2))
> a
[,1]
[1,] 1
[2,] 0
[3,] 1
[4,] 0
[5,] 1
[6,] 0
[7,] 1
[8,] 1
[9,] 1
[10,] 0
> b
[,1]
[1,] 1
[2,] 0
[3,] 1
[4,] 1
[5,] 0
[6,] 0
[7,] 0
[8,] 0
[9,] 1
[10,] 0
但是我如何计算它的百分比呢?例如,显示a中的值与b中的值X%相似?谢谢您的评论,但我的意思是显示两列之间的总体相似性,如果您查看这些矩阵,它们有6个相似的变量: 百分比的最终相似性为: 6/10==>60% 我找到了解决办法:
colSums(a==b)/length(a)*100
[1] 60
也许
prop.table(表(a,b),1)
您可以更改边距accordingly@akrun我不会边缘化。只需prop.table(表(a,b))
就可以更清楚地知道有多少a
s等于b
s。另外,mean(a==b)
可以给出a
元素等于b
元素的百分比。@nicola我最初的评论与你的相同。然后,我认为OP需要边距表格(a,b)/length(a)
你也可以做百分比(colMeans(a==b))
,百分比
来自库(刻度)
。或者100*colMeans(a==b)
如果你想要一个数字。
colSums(a==b)/length(a)*100
[1] 60