假设我有变量
local a=10
local b=1
local c=0.25
Run Code Online (Sandbox Code Playgroud)
其中a必然是一个整数。现在,如何创建一个对角元素全部等于且非对角元素全部等于的a时间矩阵?我对Stata语言中的矩阵不是很熟悉,所以我希望有人可以帮助我。提前致谢。abc
根据 Stata 的官方文档,“putexcel”程序使用标准 Excel 单元符号,即 D25 而不是 R25C4。如果我只知道列号,是否可以将其转换为脚本中的字母?
或者是否可以增加列名?
我正在将一系列 Excel 工作表附加在一起。对于每个 Excel 文档,我想要第二张表。然而,第二张纸的名称却出乎意料地变化。
如何告诉 Stata 导入第二张工作表而不引用其名称?
import excel "test1.xlsx", sheet("xxxx") firstrow clear
save "append.dta", replace
forvalues i = 2/100{
import excel "test`i'.xlsx", sheet("yyyy") firstrow clear
append using "append.dta"
save "append.dta", replace
}
Run Code Online (Sandbox Code Playgroud) 我有一个数据集,其中缺失值编码为“缺失”。我如何重新编码这些以便 Stata 将它们识别为缺失值?当我有数字缺失值时,我一直在使用例如:
mvdecode _all, mv(99=. )
Run Code Online (Sandbox Code Playgroud)
但是,当我运行其中包含一个字符时,例如:
mvdecode _all, mv("missing"=. )
Run Code Online (Sandbox Code Playgroud)
我得到了错误missing is not a valid numlist。
我正在尝试读取 34Gb Stata (.dta) 文件,但不断收到“MemoryError”消息,很明显我的 16Gb 内存不够用。
我尝试使用以下命令测试 11Mb Stata 文件:
dtafile = 'E:/test file.dta'
df = pd.read_stata(dtafile)
a = df.head()
print(a)
Run Code Online (Sandbox Code Playgroud)
我得到了正确的输出:
app_id inventor_id ... lagged_generality_FYnormalized _merge
0 101985 ... 1.038381 matched (3)
1 102019 SCHOTTEK 2827 ... 0.830110 matched (3)
2 102019 KUELLMER 2827 ... 0.830110 matched (3)
3 102019 DICKNER 2827 ... 0.830110 matched (3)
4 102562 VINEGAR 986 ... 0.825088 matched (3)
[5 rows x 1448 columns]
Process finished with exit code 0
Run Code Online (Sandbox Code Playgroud)
但是当我对 34Gb 文件进行同样的尝试时,我收到了一条“MemoryError”消息。完整的错误消息是: …
我想绘制残差及其一阶滞后的散点图,即绘制 $(e_{t-1},e_{t})$ ,以及在Stata中添加最小二乘线。我的小演示来自Example 2.3 The U.S. Gasoline Market《计量经济学分析》(7e,William H. Greene),其中显示
use http://web.pdx.edu/~crkl/ec570/data/gasoline
describe
summarize
generate g=ln(gasexp/pop)
generate y=ln(income/pop)
generate pg=ln(gasp)
generate pnew=ln(pnc)
generate pused=ln(puc)
tsset year
regress g y pg pnew pused
predict e, residual
twoway scatter e l.e || lfit e l.e
Run Code Online (Sandbox Code Playgroud)
其中l.e表示残差 上的(一阶)滞后算子e,相关数字由下式给出
我想用R重现该图,我尝试
use http://web.pdx.edu/~crkl/ec570/data/gasoline
describe
summarize
generate g=ln(gasexp/pop)
generate y=ln(income/pop)
generate pg=ln(gasp)
generate pnew=ln(pnc)
generate pused=ln(puc)
tsset year
regress g y pg pnew pused
predict …Run Code Online (Sandbox Code Playgroud) 主要编辑:由于我的原著放置不当,我决定重写这个问题。我将在下面保留原始问题,以保持记录。基本上,我需要在4 x 5的大表上进行费舍尔测试,并进行200个观察。事实证明,这往往是作为解释的一大挑战计算这里(我想,我不能按照它完全)。当我同时使用R和Stata时,我将用一些虚构数据对问题进行框架化。
Stata:
tabi 1 13 3 27 46 \ 25 0 2 5 3 \ 22 2 0 3 0 \ 19 34 3 8 1 , exact(10)
Run Code Online (Sandbox Code Playgroud)
您可以增加到exact()1000个最大值(但可能需要一天的时间才能返回错误)。
R:
Job <- matrix(c(1,13,3,27,46, 25,0,2,5,3, 22,2,0,3,0, 19,34,3,8,1), 4, 5,
dimnames = list(income = c("< 15k", "15-25k", "25-40k", ">40k"),
satisfaction = c("VeryD", "LittleD", "ModerateS", "VeryS", "exstatic")))
fisher.test(Job)
Run Code Online (Sandbox Code Playgroud)
至少对我来说,这两个程序都出错。那么问题是如何在Stata或R上进行此计算?
原始问题:我有Stata和R一起玩。我有一个包含各种分类变量的数据集,其中一些具有多个类别。因此,我想用超过2 x 2的类别进行Fisher的精确测试,即将Fisher应用于2 x 6的表或4 x 4的表。
可以使用R或Stata完成此操作吗?
编辑:虽然这可以在Stata中完成-但由于我的类别过多,因此不适用于我的数据集。Stata经过无休止的迭代,甚至搁置一天或更长时间也无法解决。
我的问题确实是-R可以做到吗,并且它可以很快做到吗?
我有一个包含每个模拟中生成的不同产品值的数据集,具有以下布局:
+------------+-------+-------+-------+
| simulation | v1 | v2 | v3 |
+------------+-------+-------+-------+
| 1 | 0,500 | 0,400 | 0,300 |
| 2 | 0,900 | 0,800 | 0,800 |
| 3 | 0,100 | 0,200 | 0,300 |
+------------+-------+-------+-------+
Run Code Online (Sandbox Code Playgroud)
变量名称v1,v2,v3标记为产品ID,不会显示在数据集的标题中.我需要将此数据集重新整形为长格式,因此它需要:
+------------+----+----------+-------+
| simulation | id | label | value |
+------------+----+----------+-------+
| 1 | v1 | 01020304 | 0,500 |
| 1 | v2 | 01020305 | 0,400 |
| 1 | v3 | 01020306 | 0,300 |
| …Run Code Online (Sandbox Code Playgroud) 假设我有一个名为MyVar的变量,其值标签定义如下:
0 Something
1 Something else
2 Yet another thing
Run Code Online (Sandbox Code Playgroud)
如何获得第二个值标签(即“其他”)?编辑:假定我不知道先验因子值是什么(即我不知道最小值标签,并且因子值可能会增加除1以外的数字,并且可能会不均匀地增加)。
我知道我可以获得对应于值 2 的标签:
. local LABEL: label (MyVar) 2, strict
. di "`LABEL'"
Yet another thing
Run Code Online (Sandbox Code Playgroud)
但是我想获得与值标签列表中2 位置相对应的标签:
. <Some amazing Stata-fu using (labeled) variable MyVar and the position 2>
. di "`LABEL'"
Something else
Run Code Online (Sandbox Code Playgroud) 有没有办法在SAS7BDAT没有SAS的情况下将文件导入Stata?
usesas需要SAS.