R - 使用列表名称列出到data.frame

 小女人快乐方子 发布于 2023-02-13 18:41
  • php
  • 1 个回答
    • 以下三个选项需要考虑:

      选项1

      直接选择所有其他元素并手动创建您的data.frame.

      setNames(
        data.frame(unlist(poor.loci[c(TRUE, FALSE)], use.names = FALSE),
                   unlist(poor.loci[c(FALSE, TRUE)], use.names = FALSE)),
        unique(names(poor.loci)))
      #    scaf pos
      # 1 HE638   8
      # 2 HE638   8
      # 3 HE638   8
      

      选项2

      将您list转换为"长" data.frame并将reshape其转换为您想要的形式.也可以使用的"reshape2"包做meltdcast,而不是stackreshape.

      X <- stack(lapply(poor.loci, as.character))
      X$ID <- ave(X$values, X$values, FUN = seq_along)
      reshape(X, direction = "wide", idvar="ID", timevar="ind")
      #   ID values.scaf values.pos
      # 1  1       HE638          8
      # 3  2       HE638          8
      # 5  3       HE638          8
      

      选项3

      重新排列你的list并将重新排列的转换listdata.frame:

      A <- unique(names(poor.loci))
      data.frame(
        setNames(
          lapply(A, function(x) unlist(poor.loci[names(poor.loci) %in% x], 
                                       use.names = FALSE)), A))
      

      2023-02-13 18:43 回答
    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    热门标签
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有