gpt4 book ai didi

r - 创建具有范围内间隙的序列

转载 作者:行者123 更新时间:2023-12-02 12:47:36 25 4
gpt4 key购买 nike

我正在尝试创建一个范围内的数字序列,跳过每第四个数字。我知道它可能以某种方式涉及 seq 或 seq_len ,但我似乎无法弄清楚。

顺序应该是这样的:

c(1,2,3,5,6,7,9,10,11...48)

最佳答案

另一种选择:

x <- 1:48
x[-seq.int(0L, length(x), 4L)]
<小时/>

基准

x <- 1:48e6

library(microbenchmark)
mbm <- microbenchmark(
steven = x[-seq.int(0L, length(x), 4L)],
venyao = x[x %% 4 != 0],
venyao2 = as.vector(matrix(x, nrow=4)[-4, ]),
pascal = x[as.logical((x) %% 4)],
user20650 = as.integer(matrix(x, nrow=4)[-4, ]),
times = 10
)

enter image description here

#Unit: milliseconds
# expr min lq mean median uq max neval cld
# steven 326.2159 350.6567 354.2743 357.3672 359.9924 368.3123 10 a
# venyao 1388.9975 1395.8814 1417.3213 1400.1432 1455.2255 1470.7743 10 d
# venyao2 613.9878 637.5377 639.1718 637.9342 640.1753 657.6627 10 b
# pascal 1236.6055 1243.8149 1265.1976 1249.1046 1304.5699 1316.8247 10 c
# user20650 587.8511 596.5614 610.4037 602.3607 619.1915 670.8756 10 b

关于r - 创建具有范围内间隙的序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34056936/

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