我是R新手,來自Stata和SAS背景。我通常使用循環來創建變量並加快進程。如何做雙循環和創建表?
我在做以下事情:1)我需要爲值10,20,100和1000運行4次循環「I」,並將4個值存儲在向量或表中。循環我運行一個進程100次。因此,我們將有400次重複。
首先。我的循環需要製作100個大小爲10的樣本,查看這些樣本中有多少滿足條件並存儲該數字。 然後製作尺寸爲20的100個樣品,並查看這些樣品中有多少符合條件...等。
This is the variable for the sample size
v=c(10,20,100,1000)
This variable will store the number of observations that meet the condition
sum.x=c(0,0,0,0)
This is the variable for the 100 repetitions.
sample = matrix(0,ncol=1,nrow=100)
This is the loop.
for (x in seq(along=v)){
for (i in 1:100) {
data=rnorm(`v`,0.25,1)
test=t.test(data)
sample[i,1]=test$p.value
}
sum.x[v]=sum(sample>0.05)
}
的代碼運行正常,但它只是沒有做什麼,我需要到:
1)sum.x有1000個觀測值,而不是4.我知道「[V]」是指示該行的位置或某物。我只是想創建如下名爲向量/變量,並創建一個小表:
table=data.fram(sum.x10, sum.x20, sum.x100, sum.x1000).
2)數據只有4個觀測值,而不是100.The主要問題是,我不知道如何使四個樣本大小之間的連接與100.
謝謝。
你的第一個循環具有指數'x',但您使用內循環'v' – baptiste
「sum.x [V]」 是一樣的「C(sum.x [10],sum.x [20],sum.x [100],sum.x [1000])」。因此,在腳本「sum.x」中的最後一條語句長度爲1000之後。 – mra68
我知道循環中存在一個錯誤,並且我明白原因。問題是我只是不知道如何連接我想做的兩件事情。感謝您花時間。 – Ahmir