R 创建一个重复的零和不均匀的“1”序列;“休息”;之间

R 创建一个重复的零和不均匀的“1”序列;“休息”;之间,r,R,我正在尝试使用Rstudio创建一个由1和0组成的序列。 我想要的输出是一个序列,首先是五个1,然后是六个0,然后是四个1,然后是六个0。然后,所有这些都应该重复,直到给定向量结束 结果应该是这样的: 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 希望有人有一个很好的解决方案,如果我有一些语法错误,请原谅 最好的, 血红蛋白 重复你的模式n次。你可以使用Map unlist(Map(function(x

我正在尝试使用Rstudio创建一个由1和0组成的序列。 我想要的输出是一个序列,首先是五个1,然后是六个0,然后是四个1,然后是六个0。然后,所有这些都应该重复,直到给定向量结束

结果应该是这样的:

1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0

希望有人有一个很好的解决方案,如果我有一些语法错误,请原谅

最好的, 血红蛋白


重复你的模式n次。

你可以使用
Map

unlist(Map(function(x, ...) c(rep(x, ...), rep(0, 6)), 1, times=length(v):1))
# [1] 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0
您也可以使用
rev(seq(v))
来代替
length(v):1
,但速度较慢


资料


v谢谢,正是我想要的!假设我想在数据帧中的列中重复此序列,我应该用什么替换“n”?@HB96该模式是否适合您的数据帧?还是会有多余的?谢谢你的回复。它将有一些多余的,所有这一切都取决于长度。我想我找到了一个解决方案,使用函数rep_len和length(dataframe$column)代替n。这样:rep_len(c(rep(1,5),rep(0,6),rep(1,4),rep(0,6)),length(dataframe$column))
unlist(Map(function(x, ...) c(rep(x, ...), rep(0, 6)), 1, times=length(v):1))
# [1] 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0
v <- c("Vector", "of", "specific", "length", "five")