2015-04-08 10 views
0

假設下面的簡單的自舉過程:查看選定的樣品用於引導環路中的每個複製

x <-  c(20,54,18,65,87,49,45,94,22,15,16,15,84,55,44,13,16,65,48,98,74,56,97,11,25,43,32,74,45,19,56,874,3,56,89,12,28,71,93) 
n <- length(x) 

nBoot <- 5; mn <- numeric(nBoot) 
for(boots in 1:nBoot){ 
set.seed(830219+boots) 
repl <- sample(x,n,replace=TRUE) 
mn[boots] <- mean(repl) 
} 

是否有我可以查看重採樣數據集「REPL」對於每個重複5次的方法嗎?

非常感謝您的答覆。提前感謝

編輯

我試過如下:

x <-  c(20,54,18,65,87,49,45,94,22,15,16,15,84,55,44,13,16,65,48,98,74,56,97,11,25,43,32,74,45, 19,56,874,3,56,89,12,28,71,93) 
n <- length(x) 

nBoot <- 5; mn <- numeric(nBoot) 
for(boots in 1:nBoot){ 
set.seed(830219+boots) 
repl <- sample(x,n,replace=TRUE) 
print(repl) 
mn[boots] <- mean(repl) 
} 

這樣我就可以查看每個5個採樣數據集,但不允許我與每個數據集seperately工作如REPL [1],REPL [2],...

EDIT2

我嘗試以下:

x <-  c(20,54,18,65,87,49,45,94,22,15,16,15,84,55,44,13,16,65,48,98,74,56,97,11,25,43,32,74,45,19,56,874,3,56,89,12,28,71,93) 
n <- length(x) 

nBoot <-3; mn <- numeric(nBoot); repl <- x 
for(boots in 1:nBoot){ 
set.seed(830219+boots) 
repl[boots] <- sample(x, n, replace=TRUE) 
pr <- print(repl) 
mn[boots] <- mean(repl) 
} 

然後我然而得到5個警告消息:「在REPL [靴] < - 樣品(X,N,替換= TRUE): 數項替換的不是的倍數更換長度」

,並呼籲REPL [1]只給了我一個號碼

+1

如果我理解正確,它似乎是一個簡單的'R'編程問題。如果您需要在每次迭代中查看重新採樣的數據集,爲什麼不在'sample()'調用之後使用適當的函數,如'print(repl)'或類似的函數? –

+0

感謝您的評論。在循環內使用打印選項確實可以查看每個重採樣數據集。但是,似乎這不允許我使用每個重採樣數據集進行分析。是不是有可能將重採樣數據集輸出爲某種列表,這樣我就可以像repl [1],repl [2]一樣單獨處理每個數據集?我appoligize我的可憐的R知識,並再次感謝你的幫助。 – user3387899

+0

非常歡迎你,不用道歉。關於使用每個重採樣數據集,您當然可以單獨引用每個集合(起初我不清楚),但爲此您需要將'repl'定義爲一個向量並初始化該向量的相應元素在每次迭代中:在for循環之前:repl < - x(爲了簡單起見);在'seed()'後面:'repl [boots] < - sample(x,n,replace = TRUE)'。然後,可以在循環之後將每個重採樣數據集稱爲「repl [1]」等。 –

回答

0

根據您的意見,我已經固定的代碼。這是我測試的版本,它似乎工作:

x <- c(20,54,18,65,87,49,45,94,22,15,16,15,84,55,44,13,16,65,48,98,74,56,97,11,25,43,32,74,45,19,56,874,3,56,89,12,28,71,93) 
n <- length(x) 

nBoot <-3; mn <- numeric(nBoot) 
repl <- matrix(x, nrow=nBoot, ncol=length(x)) 

for (boots in 1:nBoot) { 
    set.seed(830219+boots) 
    repl[boots, ] <- sample(x, n, replace=TRUE) 
    pr <- print(repl) 
    mn[boots] <- mean(repl) 
} 
相關問題