我试图将数组转换为矩阵,其中矩阵单元值计算每个成对值是否相同或不同。
例如:我希望像这样转换一个数组:
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”表示它们是不同的。
谢谢!
发布于 2018-04-18 18:22:08
您可以在这里与apply一起使用upper.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"https://stackoverflow.com/questions/49906381
复制相似问题