【发布时间】:2023-03-30 20:50:01
【问题描述】:
我想知道是否可以在 R 中做到这一点:
- 我有一个
list <- c(x1, x2, x3, x4, xn...) - 使用 for 循环,将
x1放在列表底部,给出c(x2, x3, x4, xn.. x1)。 - 下一个循环是
c(x3, x4, x5... x1, x2)
这在 R 中可能吗?
【问题讨论】:
-
您在这里混淆了列表和向量。但是是的,这是可能的——你最好的起点可能是遵循一个非常基本的 R 教程......这可能有助于清除列表/向量的混淆:stackoverflow.com/questions/8594814/…
-
感谢您的澄清。我现在要读这个。顺便说一句,如果存在,我该怎么做?
-
看到这样的东西:
vec <- c(5:10);for(i in seq_along(vec)) { print(c(vec[-(0:i)], vec[0:i])) }. -
@alexis_laz 将其发布为 OP 可以投票并接受它的答案。这就是他要找的东西。
-
正如其他人在 Answers 中指出的那样,这可以通过一些简单的索引或数学来完成,但是我的 permute 包(在 CRAN 上)中有这样一个函数,它可以执行这些循环移位排列,并且将为您生成所有此类排列。