gpt4 book ai didi

r - 创建包含开始位置和结束位置之间的值的列表

转载 作者:行者123 更新时间:2023-12-04 10:43:46 25 4
gpt4 key购买 nike

我有一个这种格式的文本文件

begin    end   
1 10
25 35
40 50
37 48
... ...

我使用这些命令创建一个列表,其中包含“开始”和“结束”列之间的所有值

x <- read.table("in.txt")

result <- vector("list",486)
for(i in 1:486){
result[[i]] <- c(x[i,1]:x[i,2])
}
lapply(result, write, "out.txt", append=TRUE, ncolumns = 1)

因此,我得到一个包含 1 列的文件,其中所有值都在不同的行上。现在我想做一些额外的事情。

我有两个额外的列,而不是只有“开始”和“结束”列的输入文件,如下所示:

begin    end    A    B
1 10 x 0
25 35 x 1
40 50 x 2
37 48 y 0

我现在希望这些其他列的值也出现在我的输出中,以便我得到类似这样的结果

position    A    B
1 X 0
2 X 0
3 X 0
...
10 X 0
...
40 X 2
41 X 2
...
37 Y 0

我怎样才能改变我的函数,使输出看起来像这样?

最佳答案

这是一个data.table解决方案:

require(data.table)
DT <- data.table(DF, key=c("A", "B"))
DT[, list(pos = seq(begin, end, by=1)),by=key(DT)]

关于r - 创建包含开始位置和结束位置之间的值的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15834825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com