我有一些数据结构有点像这样:
x01 <- c("94633X94644Y95423X96130", "124240X124494Y124571X124714", "135654X135660Y136226X136786")
我最终通过以下步骤将其用作 IRange 对象:
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)
这毫不奇怪地告诉我我有不同数量的行,但是,我觉得我已经看到导入到 R 中的 JSON 模仿了我想要的那种结构,其中一个参差不齐的列表位于 data.frame 的列中。这是可能的操作吗?