R-如何同时将所有冠军的顺序随机化



我正在寻求随机化订书片的顺序,但要保留结构。为了说明,我可以使用数据框架来完成此操作:

df1  <-  data.frame("X1" = LETTERS[1:5], "X2" = letters[1:5])
df1
df1R <- df1[sample(df1[,1]),]
df1R
> df1
  X1 X2
1  A  a
2  B  b
3  C  c
4  D  d
5  E  e
> 
> df1R <- df1[sample(df1[,1]),]
> df1R
  X1 X2
2  B  b
5  E  e
1  A  a
3  C  c
4  D  d

您可以在这里看到整体顺序是随机的,但是行保持在一起,这是我保留结构的意思 - a与a,b保持b ...

保持

我想为列表实现此信息:

m1  <- list(LETTERS[1:5], letters[1:5])

,但我陷入了如何看,我看上去很圆,但找不到解决方案。有建议吗?

结果看起来像:

> m1R
[[1]]
[1] "B" "C" "E" "A" "D"
[[2]]
[1] "b" "c" "e" "a" "d"

您可以这样做以重新排序所有元素:

neworder <- sample.int(5)
lapply(m1, function(x) x[neworder])

最新更新