我想找到最接近类似于Stata输出的R实现,以便使用具有异方差校正标准误差的最小二乘回归函数.具体来说,我希望更正的标准误差在"摘要"中,而不必为我的第一轮假设检验做额外的计算.我正在寻找一种与Eviews和Stata一样"干净"的解决方案.
到目前为止,使用"lmtest"软件包,我能想到的最好的是:
model <- lm(...)
coeftest(model, vcov = hccm)
Run Code Online (Sandbox Code Playgroud)
这给了我想要的输出,但它似乎没有使用"coeftest"来表达它的目的.我还必须使用不正确的标准错误的摘要来读取R ^ 2和F stat等.我觉得应该存在一个"一线"解决方案来解决动态R的问题.
谢谢
我有一个示例数据帧"数据"如下:
X Y Month Year income
2281205 228120 3 2011 1000
2281212 228121 9 2010 1100
2281213 228121 12 2010 900
2281214 228121 3 2011 9000
2281222 228122 6 2010 1111
2281223 228122 9 2010 3000
2281224 228122 12 2010 1889
2281225 228122 3 2011 778
2281243 228124 12 2010 1111
2281244 228124 3 2011 200
2281282 228128 9 2010 7889
2281283 228128 12 2010 2900
2281284 228128 3 2011 3400
2281302 228130 9 2010 1200
2281303 228130 12 2010 …
Run Code Online (Sandbox Code Playgroud) 许多调查都有不同类型缺失的代码.例如,代码簿可能表明:
0-99数据
-1没问的问题
-5不知道
-7拒绝回应
-9模块没问
Stata有一个很好的设施来处理这些多种缺失,因为它允许你分配一个通用的.丢失数据,但也允许更具体的缺失类型(.a,.b,.c,...,.z).所有查看缺失的命令都会报告所有缺失条目的答案,但是您可以稍后对各种缺失进行排序.当您认为拒绝回应对归责策略的影响与未提出的问题不同时,这尤其有用.
我从未在R中遇到过这样的设施,但我真的很想拥有这种能力.有没有办法标记几种不同类型的NA?我可以想象创建更多的数据(包含缺失类型的长度为nrow(my.data.frame)的向量,或者哪些行具有哪种类型的缺失的更紧凑的索引),但这看起来非常笨拙.
除了通过重定向捕获整个会话之外,有没有办法在R会话期间启动和停止记录?为了澄清,我正在寻找与log using
Stata中的命令类似的东西.
我有一堆Stata .dta文件,我想在R中使用.
我的问题是变量名对我没有帮助,因为它们就像"q0100","q0565","q0500"和"q0202".然而,它们被标记为"psu","怀孕的数量","户主"和"航点".
我希望能够抓住标签("psu","航点"等等),并将它们用作我的变量/列名称,因为这些更容易让我使用.
有没有办法做到这一点,最好是在R中,还是通过Stata本身?我知道库(外国)中的read.dta,但不知道它是否可以将标签转换为变量名.
在Stata中编程时,我经常发现自己在编程中使用了循环索引.例如,我将循环遍历变量nominalprice和realprice的列表:
local list = "nominalprice realprice"
foreach i of local list {
summarize `i'
twoway (scatter `i' time)
graph export "C:\TimePlot-`i'.png"
}
Run Code Online (Sandbox Code Playgroud)
这将绘制名义价格和实际价格的时间序列,并导出一个名为TimePlot-nominalprice.png的图表和另一个名为TimePlot-realprice.png的图表.
在R中,我想出的做同样事情的方法是:
clist <- c("nominalprice", "realprice")
for (i in clist) {
e <- paste("png(\"c:/TimePlot-",i,".png\")", sep="")
eval(parse(text=e))
plot(time, eval(parse(text=i)))
dev.off()
}
Run Code Online (Sandbox Code Playgroud)
这个R代码对我来说看起来不直观和混乱,我还没有找到一个很好的方法在R中做这种事情.也许我只是没有以正确的方式思考问题?你能建议一个更好的循环使用字符串的方法吗?
我是R的新手,所以如果这是一个简单的问题我会道歉,但是我今晚做了很多搜索,似乎无法弄明白.我有一个包含大量变量的数据框,我想要做的是创建一个表格,其中包含这些变量的子集,基本上相当于Stata中的"pwcorr",或者"相关性". SPSS.对此的一个关键是我不仅需要r,而且还需要与该值相关的重要性.
有任何想法吗?这似乎应该很简单,但我似乎无法找到一个好方法.
我希望我的knitr报告中的所有数字都默认格式化为:
format(num, digits = 2, big.mark = " ", decimal.mark = ",")
Run Code Online (Sandbox Code Playgroud)
将数字的数量默认为2,将小数点标记为逗号很简单,我只需要options(digits = 2, OutDec = ",")
在我的第一个R块中设置.但是,我不知道如何" "
以该格式设置千位分隔符(或其他任何内容).我也试过调整opts_chunk
,但无法让它工作.
当然,我试图避免必须插入format()
每个输出,内联或其他内容.毕竟,更聪明的格式化是让我从Sweave开始编织的一件事.
如何在knitr上设置默认的千位分隔符?
我一直在使用带有R基本图形和tikz输出的knitr一段时间,并且想要尝试一下ggplot2
.但是,这个最小的例子无法使用knitr 1.0.5产生任何输出:
\documentclass{article}
\begin{document}
<<dev = 'tikz'>>=
library(ggplot2)
d = data.frame(a = c(1, 2, 3), b = c(4, 5, 6), c = c(7, 8, 9))
ggplot(d, aes(a, b, color = c)) + geom_point()
@
\end{document}
Run Code Online (Sandbox Code Playgroud)
相反,它失败了Error in UseMethod("depth"): no applicable method for 'depth' applied to an object of class "NULL"
.在R中执行代码或选择png设备将产生预期的图形.省略颜色美学或c
使用tikzDevice进行因子分解工作,因此连续色标似乎是个问题.
有什么我做错了,还是那个错误?
我在R中使用tm()
和wordcloud()
进行一些基本的数据挖掘,但由于我的数据集中有非英文字符(即使我试图根据背景变量过滤掉其他语言),我遇到了困难.
假设我的TXT文件中的一些行(在TextWrangler中保存为UTF-8)如下所示:
Special
satisfação
Happy
Sad
Potential für
Run Code Online (Sandbox Code Playgroud)
然后我将我的txt文件读入R:
words <- Corpus(DirSource("~/temp", encoding = "UTF-8"),readerControl = list(language = "lat"))
Run Code Online (Sandbox Code Playgroud)
这会产生警告消息:
Warning message:
In readLines(y, encoding = x$Encoding) :
incomplete final line found on '/temp/file.txt'
Run Code Online (Sandbox Code Playgroud)
但由于这是一个警告,而不是错误,我继续向前推进.
words <- tm_map(words, stripWhitespace)
words <- tm_map(words, tolower)
Run Code Online (Sandbox Code Playgroud)
然后产生错误:
Error in FUN(X[[1L]], ...) : invalid input 'satisfa??o' in 'utf8towcs'
Run Code Online (Sandbox Code Playgroud)
我愿意找到在TextWrangler或R中过滤掉非英文字符的方法; 无论什么是最权宜之计.谢谢你的帮助!