美文网首页
一对多数据的互换

一对多数据的互换

作者: RaoZC | 来源:发表于2021-06-07 15:33 被阅读0次
    我们的目的是要将以下格式的数据相互转换。 数据转换

    暂时没有找到一部到位的方法,只能使用较为繁琐的方法进行转换。

    1 对数据进行长数据化

    library(reshape2)
    a = read.table("a.txt", header = T, sep = "\t", quote = "")
    b = melt(a, id.vars = "GeneID")
    b
    
    转换结果

    2. 拷贝到excel进行数据透视

    如下图,选择数据,选择“插入”选项卡下面的“数据透视图”


    image.png
    得到如下结果: 初步结果
    这里我们就得到初步结果,就是GO_ID对应多个Gene_ID。

    3 分列

    将这部分内容拷贝出来(复制-粘贴值),利用标识(Gene_ID中共同的部分,本例中为“Gene”,如果没有标识,则在原始列表中加入),我们可以把"Gene"替换成“$#Gene”,如下: 加标识符
    接着我们进行分列: 分列

    4. 合并

    移位后,我们使用公式:=IF(B2="",B2,D1&B2) image.png

    接着填补空值:如下,选择需要填补的列,接着“开始”→“查找和选择”→“定位条件”→“空值”,先按下“=”,在按住“ctrl”不放,同时按下键盘的方向键“↑”,即可自动填充空值。


    image.png
    用第三列进行从高到低排序,以第一列作为依据进行去重复,删除冗余列: image.png
    接着按照标识(这里是“#”)进行分列: 最终结果

    暂时没有找到一步到位的方法,继续补充中。

    相关文章

      网友评论

          本文标题:一对多数据的互换

          本文链接:https://www.haomeiwen.com/subject/odkxeltx.html