0

我对 R 很陌生,并写了一个完全符合我要求的双 for 循环(具有特定块长度的索引号的块引导程序)。但是,我无法将 print(x_sample) 显示的内容存储在矩阵中。我已经尝试了 lapply 以及我可以在这里找到的所有其他内容,但我无法自己解决问题。我真的希望你能提供帮助。提前谢谢了

Here is my code:
x <- c(1:1060,1,2,3)
x_sample  <- numeric(119*4)
for (i in 1:3){
    for (j in 0:119){
          idx <- sample(1:1060,1,replace=TRUE)
          x_sample[(4*j+1):(4*j+4)] <- x[(idx):(idx+3)] }
    print(x_sample)}
4

2 回答 2

2

你的意思是这样的吗?:

values <- c(1:1060, 1, 2, 3)
m <- sapply(sample(1:1060, 360, replace=TRUE), function(idx)values[(idx):(idx+3)])
于 2012-07-07T14:29:00.790 回答
1

在循环之前创建一个矩阵,然后填充矩阵:

x <- c(1:1060,1,2,3)
mat <- matrix(nrow=480, ncol = 3)
for (i in 1:3){
  for (j in 0:119){
    idx <- sample(1:1060,1,replace=TRUE)
    mat[(4*j+1):(4*j+4), i] <- x[(idx):(idx+3)] }
  print(mat)}
于 2012-07-07T14:34:45.677 回答