将成对距离转换为R中的距离矩阵

用户名

我需要显示/转换成距离矩阵的成对距离。R应该对此具有功能,但是我不确定哪个或如何使用它。我的数据如下所示

A1  A1  0.90
A1  B1  0.85
A1  C1  0.45
A1  D1  0.96
B1  B1  0.90
B1  C1  0.85
B1  D1  0.56
C1  C1  0.55
C1  D1  0.45
D1  D1  0.90

我想转换/显示如下

      A1      B1      C1      D1
A1    0.90    0.85    0.45    0.96
B1            0.90    0.85    0.56
C1                    0.55    0.45
D1                            0.90

我应该怎么办?谢谢

斯吉布

您可以使用reshape

df <- read.table(textConnection("
A1  A1  0.90
A1  B1  0.85
A1  C1  0.45
A1  D1  0.96
B1  B1  0.90
B1  C1  0.85
B1  D1  0.56
C1  C1  0.55
C1  D1  0.45
D1  D1  0.90"))

dfr <- reshape(df, direction="wide", idvar="V2", timevar="V1")
dfr
#   V2 V3.A1 V3.B1 V3.C1 V3.D1
# 1 A1  0.90    NA    NA    NA
# 2 B1  0.85  0.90    NA    NA
# 3 C1  0.45  0.85  0.55    NA
# 4 D1  0.96  0.56  0.45   0.9

d <- as.dist(dfr[, -1])
d
#      1    2    3
# 2 0.85          
# 3 0.45 0.85     
# 4 0.96 0.56 0.45

# reset labels
attr(d, "Labels") <- dfr[, 1]
d
#      A1   B1   C1
# B1 0.85          
# C1 0.45 0.85     
# D1 0.96 0.56 0.45

@alexis_laz提到的解决方案似乎更优雅:

as.dist(xtabs(df[, 3] ~ df[, 2] + df[, 1]))
#      A1   B1   C1
# B1 0.85          
# C1 0.45 0.85     
# D1 0.96 0.56 0.45

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

访问距离矩阵中的特定成对距离(scipy / numpy)

来自分类Dev

将交叉距离矩阵转换为距离矩阵

来自分类Dev

R中的自制距离矩阵

来自分类Dev

如何将距离矩阵的下三角提取为R中的成对的列值

来自分类Dev

将交叉距离矩阵从“ Crossdist”类转换为矩阵

来自分类Dev

C ++中的成对距离计算

来自分类Dev

R中数据帧对的距离矩阵

来自分类Dev

用值子集R中的距离矩阵

来自分类Dev

R中数据帧对的距离矩阵

来自分类Dev

在R中创建距离矩阵的列表

来自分类Dev

R-在Rcpp中存储距离矩阵

来自分类Dev

如何使用外积计算R中的成对欧几里得距离

来自分类Dev

如何使用外部乘积计算R中的成对欧几里得距离

来自分类Dev

从多个输入矩阵构造R中的距离矩阵

来自分类Dev

R类间距离矩阵

来自分类Dev

用 R 过滤距离矩阵

来自分类Dev

计算缺少值的scipy中的成对距离

来自分类Dev

Haskell中数字列表的成对距离

来自分类Dev

熊猫中不同元素的成对距离

来自分类Dev

在TensorFlow中创建距离矩阵

来自分类Dev

重塑熊猫中的距离矩阵

来自分类Dev

Excel中的欧几里得距离矩阵

来自分类Dev

如何从R中的一个回路的距离测量中得出距离矩阵?

来自分类Dev

特征相似度的成对距离计算(多维矩阵)

来自分类Dev

Python - 如何生成成对汉明距离矩阵

来自分类Dev

自定义替换矩阵,用于R中的编辑距离

来自分类Dev

素食主义者中的R大距离矩阵

来自分类Dev

如何在R中的距离矩阵旁边绘制树状图?

来自分类Dev

使用R中的Cutree从距离矩阵中提取组