R:绘制 2000 个不同随机卡方模拟的平均值和中值
R: plotting mean and median of 2000 different random chi squared simulations
我正在尝试 运行 随机卡方分布的 2000 次模拟,其中 n = 300 和 df = 3。我想从每次模拟中获取样本均值和中位数,然后最终绘制均值和中位数作为直方图。
我试过使用重复循环功能,直方图在满足"if"条件后出现。
n = 300
df = 3
randomchisq = rchisq(n = n,df = df)
i = 1
reps = 2000
xvals = "Chi squared sims"
twokchisqmean <- i:reps
twokchisqmed <- i:reps
repeat {
twokchisqmean[i] = mean(randomchisq);
twokchisqmed[i] = median(randomchisq);
i = i+1;
if (i==reps) {
par(mfrow=c(1,2))
hist(twokchisqmean,
main="Histogram of mean for 2000 chi squared sims",
xlab = xvals)
hist(twokchisqmed,
main = "Histogram of median for 2000 chi squared sims",
xlab = xvals)
}
}
当我实现这段代码时,这些图似乎没有出现在 R Studio 中。控制台中也没有出现警告。
一个repeat
语句将循环直到它到达一个中断点,然后它才会从循环中return。由于您的 repeat
语句中没有 break
,因此您的代码将无限地 运行。确保在您希望它停止时进行中断:
n = 300
df = 3
randomchisq = rchisq(n = n,df = df)
i = 1
reps = 2000
xvals = "Chi squared sims"
twokchisqmean <- i:reps
twokchisqmed <- i:reps
repeat {
twokchisqmean[i] = mean(randomchisq);
twokchisqmed[i] = median(randomchisq);
i = i+1;
if (i==reps) {
par(mfrow=c(1,2))
hist(twokchisqmean,
main="Histogram of mean for 2000 chi squared sims",
xlab = xvals)
hist(twokchisqmed,
main = "Histogram of median for 2000 chi squared sims",
xlab = xvals)
break #Break once the plot is added
}
}
我正在尝试 运行 随机卡方分布的 2000 次模拟,其中 n = 300 和 df = 3。我想从每次模拟中获取样本均值和中位数,然后最终绘制均值和中位数作为直方图。
我试过使用重复循环功能,直方图在满足"if"条件后出现。
n = 300
df = 3
randomchisq = rchisq(n = n,df = df)
i = 1
reps = 2000
xvals = "Chi squared sims"
twokchisqmean <- i:reps
twokchisqmed <- i:reps
repeat {
twokchisqmean[i] = mean(randomchisq);
twokchisqmed[i] = median(randomchisq);
i = i+1;
if (i==reps) {
par(mfrow=c(1,2))
hist(twokchisqmean,
main="Histogram of mean for 2000 chi squared sims",
xlab = xvals)
hist(twokchisqmed,
main = "Histogram of median for 2000 chi squared sims",
xlab = xvals)
}
}
当我实现这段代码时,这些图似乎没有出现在 R Studio 中。控制台中也没有出现警告。
一个repeat
语句将循环直到它到达一个中断点,然后它才会从循环中return。由于您的 repeat
语句中没有 break
,因此您的代码将无限地 运行。确保在您希望它停止时进行中断:
n = 300
df = 3
randomchisq = rchisq(n = n,df = df)
i = 1
reps = 2000
xvals = "Chi squared sims"
twokchisqmean <- i:reps
twokchisqmed <- i:reps
repeat {
twokchisqmean[i] = mean(randomchisq);
twokchisqmed[i] = median(randomchisq);
i = i+1;
if (i==reps) {
par(mfrow=c(1,2))
hist(twokchisqmean,
main="Histogram of mean for 2000 chi squared sims",
xlab = xvals)
hist(twokchisqmed,
main = "Histogram of median for 2000 chi squared sims",
xlab = xvals)
break #Break once the plot is added
}
}