如何通过根据另一个数据帧的行名的顺序映射一个数据帧的列名来对R中的数据帧进行排序?

穆罕默德·图菲克(Mohammed Toufiq)

我一直在寻找通过根据另一个数据框的行名称的顺序映射一个数据框的列名来对R中的数据框进行排序的方法。此后,确定是否已正确排序和映射了行和列名称以用于绘制热图。同样,我有许多这样的数据框,并且使用MS Excel手动执行相同的操作非常繁琐。请协助我。下面给出两个数据帧(df1和df2)和输出数据帧(df3)的示例:

dput(df1)
structure(list(Condition = c("Pos", "Pos", "Pos", "Pos", "Neg", 
"Neg", "Neg", "Neutral", "Neutral", "Neutral", "Neutral"), State = c("A", 
"A", "A", "A", "A", "A", "B", "B", "B", "B", "B")), class = "data.frame", row.names = c("GSM533312", 
"GSM533313", "GSM533321", "GSM533318", "GSM533315", "GSM533317", 
"GSM533314", "GSM533319", "GSM533320", "GSM533316", "GSM533322"
))



> dput(df2)
structure(list(GSM533312 = c(126.9026154, 417.8250699, 10, 10, 
10, 23.52525494, 10, 39.17102201, 10, 18.67273627), GSM533313 = c(69.54673614, 
462.6758022, 10, 10, 10, 26.73450534, 10, 27.07827269, 10, 16.24450811
), GSM533314 = c(60.80383818, 520.416152, 10, 10, 10, 24.43279709, 
10, 35.73886139, 10, 14.23653399), GSM533315 = c(55.13260829, 
295.2346963, 10, 10, 10, 14.06799091, 10, 20.01497351, 10, 22.59825164
), GSM533316 = c(45.89227444, 381.1542662, 10, 10, 10, 23.09791483, 
10, 29.2303841, 10, 19.17842478), GSM533317 = c(70.44756764, 
270.053056, 10, 10, 10, 11.72493597, 10, 29.75588034, 10, 20.24234006
), GSM533318 = c(137.5149798, 399.8257215, 10, 10, 10, 25.61676988, 
10, 17.51122374, 10, 26.61600151), GSM533319 = c(149.9062073, 
392.0936192, 10, 10, 10, 34.50483435, 10, 17.70500769, 10, 25.42173724
), GSM533320 = c(47.45800668, 308.1893821, 10, 10, 10, 19.99262754, 
10, 22.51401429, 10, 17.11589963), GSM533321 = c(58.67205043, 
334.0037624, 10, 10, 10, 10, 10, 17.07492728, 10, 16.99331094
), GSM533322 = c(47.9377578, 346.2849982, 10, 10, 10, 11.17797599, 
10, 19.35690144, 10, 18.52996342)), class = "data.frame", row.names = c("Gene_A", 
"Gene_B", "Gene_C", "Gene_D", "Gene_E", "Gene_F", "Gene_G", "Gene_H", 
"Gene_AA", "Gene_AB"))


> dput(df3)
structure(list(GSM533312 = c(126.9026154, 417.8250699, 10, 10, 
10, 23.52525494, 10, 39.17102201, 10, 18.67273627), GSM533313 = c(69.54673614, 
462.6758022, 10, 10, 10, 26.73450534, 10, 27.07827269, 10, 16.24450811
), GSM533321 = c(58.67205043, 334.0037624, 10, 10, 10, 10, 10, 
17.07492728, 10, 16.99331094), GSM533318 = c(137.5149798, 399.8257215, 
10, 10, 10, 25.61676988, 10, 17.51122374, 10, 26.61600151), GSM533315 = c(55.13260829, 
295.2346963, 10, 10, 10, 14.06799091, 10, 20.01497351, 10, 22.59825164
), GSM533317 = c(70.44756764, 270.053056, 10, 10, 10, 11.72493597, 
10, 29.75588034, 10, 20.24234006), GSM533314 = c(60.80383818, 
520.416152, 10, 10, 10, 24.43279709, 10, 35.73886139, 10, 14.23653399
), GSM533319 = c(149.9062073, 392.0936192, 10, 10, 10, 34.50483435, 
10, 17.70500769, 10, 25.42173724), GSM533320 = c(47.45800668, 
308.1893821, 10, 10, 10, 19.99262754, 10, 22.51401429, 10, 17.11589963
), GSM533316 = c(45.89227444, 381.1542662, 10, 10, 10, 23.09791483, 
10, 29.2303841, 10, 19.17842478), GSM533322 = c(47.9377578, 346.2849982, 
10, 10, 10, 11.17797599, 10, 19.35690144, 10, 18.52996342)), class = "data.frame", row.names = c("Gene_A", 
"Gene_B", "Gene_C", "Gene_D", "Gene_E", "Gene_F", "Gene_G", "Gene_H", 
"Gene_AA", "Gene_AB"))

标识名称的等效性:

colnames(df3)==rownames(df1)

谢谢,

图菲克

阿克伦

我们可以使用row.namesas作为列名

dfn <- df2[row.names(df1)]
identical(df3, dfn)
#[1] TRUE

如果有很多数据集,请将其放在a中,list然后一步一步将其存储在a中list

lst1 <- lapply(list(df2, df4, df5), function(dat) dat[row.names(df1)])

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除行并根据另一个对一个数据帧进行排序

来自分类Dev

如何通过在R中调用列名来合并来自另一个数据帧的数据

来自分类Dev

如何根据另一个数据帧中的行条件对一个数据帧的行索引进行矢量化查找

来自分类Dev

在R中,如何根据另一个数据帧中的范围对一个数据帧中的值进行分类?

来自分类Dev

根据另一个数据帧在R数据帧中创建变量

来自分类Dev

如何根据另一个数据帧的2个列(开始和结束)中指定的范围来标记一个数据帧的行?

来自分类Dev

通过将一个数据帧的列与另一个数据帧的行相乘来获取一个数据帧

来自分类Dev

如何从R中的另一个数据帧中提取数据帧

来自分类Dev

根据R中另一个数据帧中的行为数据帧中的行设置子集

来自分类Dev

R merge()通过一个数据帧中的列名,在另一数据帧中按列名

来自分类Dev

如何根据R中的另一个数据帧过滤和子集数据帧

来自分类Dev

如何基于基础R中的另一个数据帧对数据帧进行子集

来自分类Dev

根据另一个数据帧中的多个条件过滤数据帧

来自分类Dev

根据另一个数据帧中的值将数据帧的列相乘

来自分类Dev

如何基于一个数据帧的行值是一个子字符串/包含在另一个数据帧的行值中来联接两个数据帧?

来自分类Dev

当两个数据帧的列和索引完全相同时,如何通过匹配另一个数据帧的条件来对一个数据帧的数据进行分组?

来自分类Dev

检查一个数据帧中的行是否在另一个数据帧中

来自分类Dev

从另一个数据帧r添加/减去数据帧行

来自分类Dev

在R中将数据帧归类为R中的另一个数据帧

来自分类Dev

在另一个数据帧中插入数据帧到行的每个组

来自分类Dev

从与另一个数据帧重叠的数据帧中删除行

来自分类常见问题

如何从另一个重复的数据帧更新一个数据帧

来自分类Dev

如何从另一个重复的数据帧更新一个数据帧

来自分类Dev

根据R中另一个数据帧内的列从数据帧中删除变量

来自分类Dev

根据来自另一个数据帧的值替换数据帧中的行元素

来自分类Dev

根据将另一个单元格与另一个数据帧的单元格进行比较来更改一个数据帧中单元格的值-熊猫

来自分类Dev

根据R中的两个匹配条件,将值从一个数据帧添加到另一个数据帧

来自分类Dev

根据R中的另一个数据帧更改单元格

来自分类Dev

根据另一个数据帧过滤数据帧

Related 相关文章

  1. 1

    删除行并根据另一个对一个数据帧进行排序

  2. 2

    如何通过在R中调用列名来合并来自另一个数据帧的数据

  3. 3

    如何根据另一个数据帧中的行条件对一个数据帧的行索引进行矢量化查找

  4. 4

    在R中,如何根据另一个数据帧中的范围对一个数据帧中的值进行分类?

  5. 5

    根据另一个数据帧在R数据帧中创建变量

  6. 6

    如何根据另一个数据帧的2个列(开始和结束)中指定的范围来标记一个数据帧的行?

  7. 7

    通过将一个数据帧的列与另一个数据帧的行相乘来获取一个数据帧

  8. 8

    如何从R中的另一个数据帧中提取数据帧

  9. 9

    根据R中另一个数据帧中的行为数据帧中的行设置子集

  10. 10

    R merge()通过一个数据帧中的列名,在另一数据帧中按列名

  11. 11

    如何根据R中的另一个数据帧过滤和子集数据帧

  12. 12

    如何基于基础R中的另一个数据帧对数据帧进行子集

  13. 13

    根据另一个数据帧中的多个条件过滤数据帧

  14. 14

    根据另一个数据帧中的值将数据帧的列相乘

  15. 15

    如何基于一个数据帧的行值是一个子字符串/包含在另一个数据帧的行值中来联接两个数据帧?

  16. 16

    当两个数据帧的列和索引完全相同时,如何通过匹配另一个数据帧的条件来对一个数据帧的数据进行分组?

  17. 17

    检查一个数据帧中的行是否在另一个数据帧中

  18. 18

    从另一个数据帧r添加/减去数据帧行

  19. 19

    在R中将数据帧归类为R中的另一个数据帧

  20. 20

    在另一个数据帧中插入数据帧到行的每个组

  21. 21

    从与另一个数据帧重叠的数据帧中删除行

  22. 22

    如何从另一个重复的数据帧更新一个数据帧

  23. 23

    如何从另一个重复的数据帧更新一个数据帧

  24. 24

    根据R中另一个数据帧内的列从数据帧中删除变量

  25. 25

    根据来自另一个数据帧的值替换数据帧中的行元素

  26. 26

    根据将另一个单元格与另一个数据帧的单元格进行比较来更改一个数据帧中单元格的值-熊猫

  27. 27

    根据R中的两个匹配条件,将值从一个数据帧添加到另一个数据帧

  28. 28

    根据R中的另一个数据帧更改单元格

  29. 29

    根据另一个数据帧过滤数据帧

热门标签

归档