Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用R以百分比表示两列的相似性?_R_Matrix_Percentage_Similarity - Fatal编程技术网

如何使用R以百分比表示两列的相似性?

如何使用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

我有一个简单的问题,我股票在它! 我有两个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
         [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