一直在使用Stata在复制中运行负二项式回归.不确定Stata是如何做到这一点的,但想知道是否有一个R功能/包做同样的事情?R将让我更好地了解它是如何工作的,因为我可以看到代码.
有人知道一种简单的方法可以让Stata在运行Tobit回归时显示p值以上的三位数吗?
通常Stata报告p值是.001或者.065,但我希望看到更多的数字,例如,.0011123或.065320.
需要说明的是,我不希望(必然)改变回归表中数据的生成方式.
我只希望能够让Stata显示我感兴趣的那些p值的更多数字.
我需要使用.dct文件读取.dat文件.有人用R做过吗?
格式为:
dictionary {
# how many lines per record
_lines(1)
# start defining the first line
_line(1)
# starting column / storage type / variable name / read format / variable label
_column(1) str8 aid %8s "respondent identifier"
...
}
Run Code Online (Sandbox Code Playgroud)
'阅读格式'如下:
%2f 2 column integer variable
%12s 12 column string variable
%8.2f 8 column number with 2 implied decimal places.
Run Code Online (Sandbox Code Playgroud)
存储类型如下所述:http://www.stata.com/help.cgi?datatypes
用于信息的其他网站:
http://library.columbia.edu/indiv/dssc/technology/stata_write.html
http://www.stata.com/support/faqs/data-management/reading-fixed-format-data/
.dat文件是一组与.dct文件中指定的变量对应的数字.(据推测这是固定宽度列中的数据).
这是一个真实的例子:
.dtc文件 http://goo.gl/qHZOk
stata站点的一个具体示例是:
该.dat文件(本例中为"test.raw")
C1245A101George Costanza …Run Code Online (Sandbox Code Playgroud) 我在outreg2使用Stata中使用的用户编写的包时遇到了麻烦.当我使用该tex(frag)选项构建输出时,结果表在每行的末尾有三个反斜杠而不是仅两个,导致每行的"错位对齐字符"错误.关于我做错了什么或如何解决这个问题的任何想法?
(first regression specification)
outreg2 d.lntau_sh d.lntau_sf using Table_1.tex, nocons replace
(second regression second regression specification)
outreg2 d.lntau_ht d.lntau_th using Table_1.tex, tex(frag) se coefastr symb(***,**,*) rdec(3) bdec(3) r2 nocons append
Run Code Online (Sandbox Code Playgroud) 我有一个700mb .dta Stata文件,有2800万个观测值和14个列变量
当我尝试使用外部的 read.dta()函数导入R 时,我的8GB机器上的RAM耗尽(页面输出非常快速地射入GB).
staph <- read.dta("Staph_1999_2010.dta")
Run Code Online (Sandbox Code Playgroud)
我在周围寻找,听起来更有效的替代方案是使用memisc包中的Stata.file()函数.
我打电话的时候:
staph <- Stata.file("Staph_1999_2010.dta")
Run Code Online (Sandbox Code Playgroud)
我得到一个段错误:
*** caught segfault ***
address 0xd5d2b920, cause 'memory not mapped'
Traceback:
1: .Call("dta_read_labels", bf, lbllen, padding)
2: dta.read.labels(bf, len.lbl, 3)
3: get.dictionary.dta(dta)
4: Stata.file("Staph_1999_2010.dta")
Run Code Online (Sandbox Code Playgroud)
我发现Stata.file()的文档很难理解.
(1)我使用Stata.file()得当吗?
(2)Stata.file()返回像read.dta()这样的数据帧吗?
(3)如果我Stata.file()正确使用,我该如何解决我得到的错误?
我试图在R中复制Stata输出.我正在使用数据集事务.我无法通过强大的标准错误复制probit函数.
Stata代码看起来像这样:
probit affair male age yrsmarr kids relig educ ratemarr, r
我开始时:
probit1 <- glm(affair ~ male + age + yrsmarr + kids + relig + educ + ratemarr,
family = binomial (link = "probit"), data = mydata)
Run Code Online (Sandbox Code Playgroud)
然后我尝试了对sandwich包的各种调整,例如:
myProbit <- function(probit1, vcov = sandwich(..., adjust = TRUE)) {
print(coeftest(probit1, vcov = sandwich(probit1, adjust = TRUE)))
}
Run Code Online (Sandbox Code Playgroud)
或(与所有类型HC0来HC5):
myProbit <- function(probit1, vcov = sandwich) {
print(coeftest(probit1, vcovHC(probit1, type = "HC0"))
} …Run Code Online (Sandbox Code Playgroud) 刚刚遇到一个.do我需要翻译的文件,R因为我没有Stata许可证; 我的Stata生锈了,那么有人可以确认代码是在做我认为的吗?
为了重现性,我将把它翻译成我在网上找到的数据集,特别是奶制品数据集(p004),它是Chatterjee,Hadi和Price的教科书的一部分.
这是Stata代码:
collapse (min) min_protein = protein ///
(mean) avg_protein = protein ///
(median) median_protein = protein ///
(sd) sd_protein = protein ///
if protein > 2.8, by(lactatio)
Run Code Online (Sandbox Code Playgroud)
以下是我认为它在data.table语法中的作用:
library(data.table)
library(foreign)
DT = read.dta("p004.dta")
setDT(DT)
DT[protein > 2.8,
.(min_protein = min(protein),
avg_protein = mean(protein),
median_protein = median(protein),
sd_protein = sd(protein)),
keyby = lactatio]
# lactatio min_protein avg_protein median_protein sd_protein
# 1: 1 2.9 3.162632 3.10 0.2180803
# 2: 2 2.9 …Run Code Online (Sandbox Code Playgroud) 到目前为止,pandas 函数df.to_stata()对我的数据集运行得很好。
我正在尝试使用以下代码将包含 29,778 行和 37 行的数据框导出到 Stata 文件:
df.to_stata("Stata_File.dta", write_index=False, version=118)
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误消息:
AttributeError: 'DataFrame' object has no attribute 'dtype'
Run Code Online (Sandbox Code Playgroud)
我真的很感激任何帮助如何解决这个问题。
假设我twoway在 Stata 中使用一些图形命令。如果我不采取任何操作,Stata 会根据数据中的最小和最大y和x值,以及决定何时更漂亮的某种算法,为y轴和x轴的范围选择一些合理的值。要扩展的范围,例如“0”而不是“0.0139”。精彩的!伟大的。
现在假设在绘制图表之后(或同时),我想在其上添加一些非常重要的文本,并且我想精确地选择文本出现的位置。拥有显示轴的最小值和最大值将很有用:如何获得这些最小值和最大值?(在调用图形命令之前或同时。)
注意:我不是问如何设置y或x轴范围。
stata ×10
r ×5
regression ×2
data.table ×1
dataframe ×1
dta ×1
latex ×1
linux ×1
memory ×1
pandas ×1
python ×1
read.table ×1
replicate ×1
robust ×1
statistics ×1
sublimetext3 ×1
ubuntu ×1