将IRanges列表作为列包含在data.frame中

缺口

我有一些这样的数据结构:

x01 <- c("94633X94644Y95423X96130", "124240X124494Y124571X124714", "135654X135660Y136226X136786")

最后,我通过以下步骤将其用作IRanges对象:

x02 <- sapply(x01,
              function(x) do.call(rbind,
                                  strsplit(strsplit(x,
                                                    split = "Y",
                                                    fixed = TRUE)[[1]],
                                           split = "X",
                                           fixed = TRUE)),
              simplify = FALSE,
              USE.NAMES = FALSE)

x03 <- sapply(x02,
              function(x) IRanges(start = as.integer(x[, 1L]),
                                  end = as.integer(x[, 2L])),
              simplify = FALSE,
              USE.NAMES = FALSE)

> x03
[[1]]
IRanges object with 2 ranges and 0 metadata columns:
          start       end     width
      <integer> <integer> <integer>
  [1]     94633     94644        12
  [2]     95423     96130       708

[[2]]
IRanges object with 2 ranges and 0 metadata columns:
          start       end     width
      <integer> <integer> <integer>
  [1]    124240    124494       255
  [2]    124571    124714       144

[[3]]
IRanges object with 2 ranges and 0 metadata columns:
          start       end     width
      <integer> <integer> <integer>
  [1]    135654    135660         7
  [2]    136226    136786       561

现在,我希望能够将x03作为一列存储在data.frame中,其中包含一些简单的类似信息:

> x04 <- data.frame("col1" = 1:3,
                    "col2" = x01,
                    "col3" = x03)

这毫不奇怪地告诉我,我有不同的行数,但是,我感觉好像已经看到将JSON导入R模仿了我想要的那种结构,其中一个破烂的列表位于data.frame的列中。这可能吗?

笨狼

这是一个非常好的问题,我之前在其他数据框(如对象)中已经看到过,但是我认为以上方法不起作用,因为只要有一个as.data.frame可用于矩阵或IRanges,它将弄乱尺寸而不是将其嵌入(我可能非常错)。

一种选择是使用小标题:

x04 = tibble::tibble(x01=x01,x02=x02,x03=x03)
# A tibble: 3 x 3
  a                           b                 c        
  <chr>                       <list>            <list>   
1 94633X94644Y95423X96130     <chr[,2] [2 x 2]> <IRanges>
2 124240X124494Y124571X124714 <chr[,2] [2 x 2]> <IRanges>
3 135654X135660Y136226X136786 <chr[,2] [2 x 2]> <IRanges>

x04$x03
[[1]]
IRanges object with 2 ranges and 0 metadata columns:
          start       end     width
      <integer> <integer> <integer>
  [1]     94633     94644        12
  [2]     95423     96130       708

[[2]]
IRanges object with 2 ranges and 0 metadata columns:
          start       end     width
      <integer> <integer> <integer>
  [1]    124240    124494       255
  [2]    124571    124714       144

[[3]]
IRanges object with 2 ranges and 0 metadata columns:
          start       end     width
      <integer> <integer> <integer>
  [1]    135654    135660         7
  [2]    136226    136786       561

另外的选择:

library(S4Vectors)
DataFrame(x01=x01,x02=List(x02),x03=IRangesList(x03))
                          x01                             x02
                  <character>                          <List>
1     94633X94644Y95423X96130     94633:94644,95423:96130,...
2 124240X124494Y124571X124714 124240:124494,124571:124714,...
3 135654X135660Y136226X136786 135654:135660,136226:136786,...
                          x03
                <IRangesList>
1     94633-94644,95423-96130
2 124240-124494,124571-124714
3 135654-135660,136226-136786

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

来自分类Dev

如何将Surv对象作为新列包含在data.table中?

来自分类Dev

将文档ID作为字段ID包含在Firestore中

来自分类Dev

R:如何有效地找出data.frame A是否包含在data.frame B中?

来自分类Dev

R将列添加到data.frame中,即data.frames列表中

来自分类Dev

使用相同的列索引将数组列表作为列追加到pandas Data Frame

来自分类Dev

将data.frame列表中的列表取消列出为单个data.frame

来自分类Dev

将文件名作为列添加到循环内的data.frame中

来自分类Dev

将矢量作为列添加到fill = NA的data.frame中

来自分类Dev

从data.frame中删除包含“ null”的列

来自分类Dev

将表列表更改为R中的data.frame

来自分类Dev

在R中的data.frame列表中使用一个data.frame的指定列

来自分类Dev

在data.frame的列中解包和合并列表

来自分类Dev

重命名列表中Data.frame的列

来自分类Dev

将列表转换为R中具有多个列的data.frame

来自分类Dev

行列表中的Data.frame

来自分类Dev

如何在data.frame列表中命名data.frame中的列作为数据框的名称

来自分类Dev

如何基于data.frame中的两列将data.frame转换为矩阵

来自分类Dev

将data.frame中的列转换为日期

来自分类Dev

更改data.frame中的元素列

来自分类Dev

将git commit hash作为字符串包含在Rust程序中

来自分类Dev

我是否应该将scala-compiler作为依赖项包含在build.sbt中?

来自分类Dev

如何将代码作为文本包含在HTML页面中

来自分类Dev

如何将窗口作为有效道具包含在PropTypes中?

来自分类Dev

如何将xlsx文件作为数据包含在R包中

来自分类Dev

选择列表中的列无效,因为该列未包含在聚合函数或GROUP BY子句中

来自分类Dev

如果未包含在列表中,则从pandas列中删除它们

来自分类Dev

Flask_Admin在创建/编辑中不包括某些列,但包含在列表中

来自分类Dev

实体框架列表包含在lambda中

来自分类Dev

方法包含在文本列表的字典中

TOP 榜单

热门标签

归档