R中成对评估矩阵的值数组

Array of values to matrix of pairwise evaluations in R

我正在尝试将数组转换为矩阵,其中矩阵单元格值评估每个成对值是相同还是不同。

例如:我希望转换这样的数组:

df = data.frame(m1=c("Apple", "1", "2"), m2=c("Apple", "3", "4"), m3=c("Plum", "5", "6")) 
array = df[1,] 

到这样的矩阵:

    m1  m2  m3
m1   T
m2   T   T
m3   F   F   T

其中 "T" 表示两个值相等(即第一个条目和第二个条目都等于 "apple")并且 "F" 表示它们不同。

谢谢!

您可以在这里使用 applyupper.tri

m=apply(array,2,function(x) x==array)
m[upper.tri(m)] <- ''
m
     m1      m2      m3    
[1,] "TRUE"  ""      ""    
[2,] "TRUE"  "TRUE"  ""    
[3,] "FALSE" "FALSE" "TRUE"