我正在try 将某个正方形双矩阵reshape 为一些列数据帧

类似于:

                genomeA    genomeB    genomeC
       genomeA    1.0        0.5       0.3
       genomeB    0.5        1.0       0.2
       genomeC    0.3        0.2       1.0

vt.进入,进入

Genomes1   Genomes2    Value
genomeA    genomeA     1.0
genomeA    genomeB     0.5
genomeA    genomeC     0.3
 .....

i tried to cast it vt.进入,进入 a dataframe but it didn't do anything i tried with tibble

    df <- corr %>%
  as_tibble() %>%
  setNames(c('GenomesA', 'GenomesB', 'AAI'))

它创造了一些奇怪的矩阵,但不是我想要的

如果有人为我做线索!谢谢

推荐答案

您可以使用array2DF(在R 4.3.0中引入):

array2DF(m)

但这会产生意外的后果,输出不正确的第二列;您可以这样进行补救:

array2DF(m, responseName = "AAI", simplify = FALSE) |>
  transform(AAI = mapply(\(x, y) x[y], AAI, match(Var2, unique(Var2))))

#      Var1    Var2 AAI
# 1 genomeA genomeA 1.0
# 2 genomeB genomeA 0.5
# 3 genomeC genomeA 0.3
# 4 genomeA genomeB 0.5
# 5 genomeB genomeB 1.0
# 6 genomeC genomeB 0.2
# 7 genomeA genomeC 0.3
# 8 genomeB genomeC 0.2
# 9 genomeC genomeC 1.0

数据

m <- read.table(h=T,text="         genomeA    genomeB    genomeC
       genomeA    1.0        0.5       0.3
       genomeB    0.5        1.0       0.2
       genomeC    0.3        0.2       1.0")

R相关问答推荐

这两种创建S4对象的方法有何不同?

如果R上的不同时期之间的值发生了变化,则创建假人

在之前合并的数据.tables中分配新列后.internal.selfref无效

使用gggplot 2在R中正确表示翻转堆叠条形图中的数据

如何在x轴下方画一条带有箭头的线?

图片中令人惊讶的行为

提取rame中对应r中某个变量的n个最小正值和n个最大负值的条目

使用Shiny组合和显示复制和粘贴的数据

从R导出全局环境中的所有sf(numrames)对象

在数学中正确显示摄氏度、开氏度或华氏度

在某些栏和某些条件下,替换dfs列表中的NA

如何调整曲线图中的y轴标签?

条形图和在Ploly中悬停的问题

在ggplot2中更改小提琴情节的顺序

如何在R中描绘#符号?

哪一行和行和 Select 特定行,但是考虑到Nas

您是否可以将组添加到堆叠的柱状图

Geom_Hline将不会出现,而它以前出现了

在ggplot2上从多个数据框创建复杂的自定义图形

从线的交点创建面