0
我有一个数字向量1:17。我随机重新排序子向量内它(下面的例子是1:10和11:17必须随机重新排序):使用R重新排序块中的连续整数
x = c(1:10)
x_s = sample(x, length(x), replace = FALSE)
[1] 7 9 3 4 10 5 1 6 8 2
y=c(11:17)
> y_s = sample(y, length(y), replace = FALSE)
[1] 17 16 13 12 14 15 11
final=c(x_s,y_s)
[1] 7 9 3 4 10 5 1 6 8 2 17 16 13 12 14 15 11
虽然我能得到我的最后重新排序向量,有没有更优雅这个代码的方法?我在问,因为这只是一个例子,而我真正的问题是一个更大的矢量,其中有更多的子矢量需要随机重新排序。代码将会太多!
谢谢。
如何确定子集? – A5C1D2H2I1M1N2O1R2T1
对于这个确切的例子,你可以做'unlist(lapply(list(1:10,11:17),sample))'。 – A5C1D2H2I1M1N2O1R2T1
只是一个fyi,当分配连续的整数'x < - c(1:10)'时,你不需要使用'c()'。 'x < - 1:10'也是一样的。 –