0

私はRを初めて使用し、まさに私が望むことを行う二重forループを作成しました(特定のブロック長を持つインデックス番号のブロックブートストラップ)。ただし、 print(x_sample) が表示するものをマトリックスに保存できません。私はラップリーとここで見つけることができる他のすべてを試しましたが、自分で問題を解決することはできませんでした. お役に立てれば幸いです。よろしくお願いします

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 に答える