gpt4 book ai didi

r - 如何获取向量列表形式的间隔?

转载 作者:行者123 更新时间:2023-12-02 02:40:08 24 4
gpt4 key购买 nike

我有一个数值向量,我需要获取向量列表形式的间隔。

我认为这很容易,但我真的很难找到一种好的、简单的方法。

一种糟糕且复杂的方法是粘贴向量及其滞后,然后分割结果。

这是有效但丑陋的表示:

library(tidyverse)
xx = c(1, 5, 10 ,15 ,20)
paste0(lag(xx), "-", xx-1) %>% str_split("-") #nevermind the first one, it cannot really make sense anyway
#> [[1]]
#> [1] "NA" "0"
#>
#> [[2]]
#> [1] "1" "4"
#>
#> [[3]]
#> [1] "5" "9"
#>
#> [[4]]
#> [1] "10" "14"
#>
#> [[5]]
#> [1] "15" "19"

reprex package于2020年9月6日创建(v0.3.0)

有没有更简洁的方法来做同样的事情?

最佳答案

您可以使用 map :

Map(c, xx[-length(xx)], xx[-1] - 1)

#[[1]]
#[1] 1 4

#[[2]]
#[1] 5 9

#[[3]]
#[1] 10 14

#[[4]]
#[1] 15 19

我们还可以使用 lapply 迭代变量的长度。

lapply(seq_along(xx[-1]), function(i) c(xx[i], xx[i+1] - 1))

关于r - 如何获取向量列表形式的间隔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63765773/

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