gpt4 book ai didi

r - 两个数字的序列,其中之一出现的次数减少

转载 作者:行者123 更新时间:2023-12-04 05:16:42 25 4
gpt4 key购买 nike

我想从两个数字创建一个序列,这样一个数字的出现减少(从n_1到1),而另一个数字的出现固定在n_2

我一直在寻找并尝试使用seq和rep来做到这一点,但我似乎无法弄清楚。

这是c(0,1)n_1=5n_2=3的示例:

0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,1,1,1,0,1,1,1

这里是 c(0,1)n_1=2n_2=1:
0,0,1,0,1

最佳答案

也许是这样的吗?

rep(rep(c(0, 1), n_1), times = rbind(n_1:1, n_2))
## [1] 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 1

这是一个函数(不进行任何健全性检查):
myfun <- function(vec, n1, n2) rep(rep(vec, n1), times = rbind(n1:1, n2))

myfun(c(0, 1), 2, 1)
## [1] 0 0 1 0 1
inverse.rle
另一种选择是使用 inverse.rle:
y <- list(lengths = rbind(n_1:1, n_2),
values = rep(c(0, 1), n_1))
inverse.rle(y)
## [1] 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 1

关于r - 两个数字的序列,其中之一出现的次数减少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42858500/

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