【发布时间】:2016-02-04 14:51:24
【问题描述】:
我一直在网上搜索如何绘制存储在矩阵中的值的直方图,但我在这样做时遇到了一些麻烦。我创建了一个forval 循环,我在其中存储了 1000 次测试试验的 p 值,现在我想在直方图上绘制这些 p 值。
/* Loop generating 1000 trials and storing p-values */
mata: pvalue1000 = J(1000,1,.)
forvalues i = 1/1000 {
clear
quiet set obs 1000
gen n = _n
quiet gen A = runiform()
quiet ttest A = 0.20
/*store the mean, in a local variable*/
local pvalue = r(p)
gen pval = r(p)
/*transfer the p-value from the "local" to the matrix */
mata: pvalue1000[`i',1] = `pvalue'
}
mata: pvalue1000
hist pvalue1000
在这种情况下,hist pvalue1000 表示找不到 pvalue1000,当我尝试执行 hist pval 时,它只在直方图中显示一个 p 值(我假设这是因为它是循环外)。
另请注意,矩阵仅存储 p 值,所有 p 值都存储在单个列(有 1000 行)中。所以矩阵大小为 1 列和 1000 行。
那么我怎样才能用hist 调用一个变量,它将在该直方图上绘制所有p 值?
【问题讨论】:
标签: matrix histogram stata p-value