循环矢量与字符和随机值

时间:2015-08-10 17:02:39

标签: r loops

如何在向量中循环带有随机数字元素的向量,但同时希望保持相同的字符?

我在下面做了一个例子,但变量按顺序排列。我希望从序列中随机选择数字。

x <- as.list(seq(1,10))
y <- as.list(seq(1:50))

answer <- NULL
for(n in 1:length(x)){
answer <- paste("The value of", 1:length(y) , " + ", 1:length(x) , sep=" ")
}
answer

1 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解你的要求,但你可以试试这个:

x <- as.list(seq(1:10))
y <- as.list(seq(1:50))
set.seed(1234) # set seed for reproducibility
x1 <- unlist(sample(x,length(x))) # shuffle the entries of x in a random fashion and store in x1
y1 <- unlist(sample(y,length(y))) # do the same for the entries of y and store in y1
answer <- paste("The value of", y1 , " + ", x1 , sep=" ") # generate result
> head(answer)
#[1] "The value of 35  +  2" "The value of 27  +  6" "The value of 14  +  5" "The value of 44  +  8" "The value of 48  +  9" "The value of 38  +  4"

x1和y1的组合是随机的(如果你仔细观察结果,你会看到序列x1重复,因为矢量被循环使用,但y1的顺序是完全随机的)。 y1的每个值出现一次,但是,对(x1,y1)与原始有序集中的对(x,y)不同。这是否符合您想要的输出?