我是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