草庐IT

缩尾处理 stata

八八嘿嘿 2023-04-19 原文

要求:对连续变量上下1%的分位数进行了缩尾处理

目录

安装

具体命令

疑问1:需要对所有变量缩尾吗?

疑问2:面板数据每年的截面数据分别进行处理吗,还是这么多年都混在一起处理


安装

ssc install winsor2

结果发现自己卡在了第一步,安装不了,显示如下:

ssc install winsor2
remote connection failed
http://fmwww.bc.edu/repec/bocode/w/ either
  1)  is not a valid URL, or
  2)  could not be contacted, or
  3)  is not a Stata download site (has no stata.toc file).

看网上说是因为和官网连接不上,我就手动打开了Stata | Updates: Keeping Stata up to date

又重新输入了一遍命令,成功。

ssc install winsor2
checking winsor2 consistency and verifying not already installed...
installing into D:\stata\plus\...
installation complete.

具体命令

参考网址:winsor2缩尾处理stata

引用如下,侵权删

Winsor2 varlist [if] [in], [suffix(string) replace trim cuts(# #) by(groupvar) label ]

 

// suffix(string): 对缩尾后的变量名加后缀,否则默认为_w / _tr;

// trim: 修剪处理,将高于或低于指定分位数的离群值设定为缺失值;

// cuts: 选择分位数,否则默认为1%双侧缩尾处理;

// by: 分组;

// label: 设定标签;

// 您可以根据个人需要选择是否添加后缀条件,如无需要,直接按示例简单使用winsor2即可

Winsor2 x1 x2

// 不加option,生成_w缩尾后变量;这是最简洁的一条winsor2命令,默认1%上下水平的缩尾处理,可以同时保留x1 x2原始值和x1_w x2_w缩尾值。

 

Winsor2 x1 x2, cuts(1 99) replace

// 进行上下1%缩尾处理,覆盖原始值;在上一条命令中加入指定分位数和replace,此时的x1 x2是缩尾之后的取值,覆盖了原始值,即用99分位数替代高于99分位数的异常值,用1分位数替代低于1分位数的异常值。

 

Winsor2 x1 x2, cuts(0 99) replace

// 仅对99%分位数以上缩尾处理,将异常值用指定分位数取值替代,覆盖原始值。此处和上述命令的不同点在于分位数的设置不同,cuts(a b)中的a b可以自定义设置,既可以单侧分位数缩尾,又可以双侧分位数缩尾,若换成上下5%分位数缩尾处理,只需写成cuts(5 95)即可,以此类推。

 

Winsor2 x1 x2, replace cuts(1 99) trim

// 进行上下1%修剪处理;此处trim和上述命令中的replace的不同在于,replace直接覆盖原始值,将异常值用指定分位数的取值替代,trim将指定分位数之外的异常值剔除,形成缺失值,样本量大的情况下更加适用trim命令,在使用trim命令后,缩尾后的变量存在缺失值,继续将缺失值剔除即可。

drop if x1==.|x2==.

// 剔除x1 x2中的缺失值。

疑问1:需要对所有变量缩尾吗?

看网上回答

需要对所有连续变量进行缩尾。因为你无法解释为什么只对某些变量缩尾而不对其他变量缩尾。更核心的问题是缩尾后的回归是相对更稳健的,比如说某个变量如果对因变量确实有影响,那么缩尾后也一定是有影响,否则就是模型有问题,或者根本没影响

疑问2:面板数据每年的截面数据分别进行处理吗,还是这么多年都混在一起处理

这个问题暂时不太清楚,先混在一起处理,康康结果咋样。

大部分文献都是混在一起处理

有关缩尾处理 stata的更多相关文章

  1. ruby - 如何指定 Rack 处理程序 - 2

    Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack

  2. Ruby-vips 图像处理库。有什么好的使用示例吗? - 2

    我对图像处理完全陌生。我对JPEG内部是什么以及它是如何工作一无所知。我想知道,是否可以在某处找到执行以下简单操作的ruby​​代码:打开jpeg文件。遍历每个像素并将其颜色设置为fx绿色。将结果写入另一个文件。我对如何使用ruby​​-vips库实现这一点特别感兴趣https://github.com/ender672/ruby-vips我的目标-学习如何使用ruby​​-vips执行基本的图像处理操作(Gamma校正、亮度、色调……)任何指向比“helloworld”更复杂的工作示例的链接——比如ruby​​-vips的github页面上的链接,我们将不胜感激!如果有ruby​​-

  3. ruby - Faye WebSocket,关闭处理程序被触发后重新连接到套接字 - 2

    我有一个super简单的脚本,它几乎包含了FayeWebSocketGitHub页面上用于处理关闭连接的内容:ws=Faye::WebSocket::Client.new(url,nil,:headers=>headers)ws.on:opendo|event|p[:open]#sendpingcommand#sendtestcommand#ws.send({command:'test'}.to_json)endws.on:messagedo|event|#hereistheentrypointfordatacomingfromtheserver.pJSON.parse(event.d

  4. ruby - 如何使用 Ruby HTTP::Net 处理 404 错误? - 2

    我正在尝试解析网页,但有时会收到404错误。这是我用来获取网页的代码:result=Net::HTTP::getURI.parse(URI.escape(url))如何测试result是否为404错误代码? 最佳答案 像这样重写你的代码:uri=URI.parse(url)result=Net::HTTP.start(uri.host,uri.port){|http|http.get(uri.path)}putsresult.codeputsresult.body这将打印状态码和正文。

  5. ruby-on-rails - 使用 Ruby 正确处理 Stripe 错误和异常以实现一次性收费 - 2

    我查看了Stripedocumentationonerrors,但我仍然无法正确处理/重定向这些错误。基本上无论发生什么,我都希望他们返回到edit操作(通过edit_profile_path)并向他们显示一条消息(无论成功与否)。我在edit操作上有一个表单,它可以POST到update操作。使用有效的信用卡可以正常工作(费用在Stripe仪表板中)。我正在使用Stripe.js。classExtrasController5000,#amountincents:currency=>"usd",:card=>token,:description=>current_user.email)

  6. ruby-on-rails - Rails 处理 .Erb 与 Nils - 2

    当profile为nil时,总是让我感到悲伤...我该怎么办? 最佳答案 在View中使用变量之前,始终检查变量是否为nil。我确信这个问题有更优雅的解决方案,但这应该能让您入门。 关于ruby-on-rails-Rails处理.Erb与Nils,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2709605/

  7. ruby-on-rails - 如何在多个环境中处理 OmniAuth 回调? - 2

    我有一个应用程序专门使用Facebook作为身份验证提供程序,并正确设置了生产模式的回调。为了让它工作,您需要为您的Facebook应用程序提供一个站点URL和一个用于回调的站点域,在我的例子中是http://appname.heroku.com和appname。heroku.com分别。问题是我的Controller设置为只允许经过身份验证的session,所以我无法在开发模式下查看我的应用程序,因为Facebook应用程序的域显然没有设置为本地主机。如何在不更改Facebook设置的情况下解决这个问题? 最佳答案 创建另一个域l

  8. python - 请在 Perl 或 Ruby 中引入多处理库 - 2

    在python中,我们可以使用多处理模块。如果Perl和Ruby中有类似的库,你会教它吗?如果您能附上一个简短的示例,我将不胜感激。 最佳答案 ruby:WorkingwithmultipleprocessesinRubyConcurrencyisaMythinRubyPerl:HarnessingthepowerofmulticoreWhyPerlIsaGreatLanguageforConcurrentProgramming此外,Perl的线程是native操作系统线程,因此您可以使用它们来利用多核。

  9. ruby - 现代计算机的功能是否不足以处理字符串而无需使用符号(在 Ruby 中) - 2

    我读过的关于Ruby符号的每一篇文章都在谈论符号相对于字符串的效率。但是,这不是1970年代。我的电脑可以处理一些额外的垃圾收集。我错了吗?我拥有最新最好的奔腾双核处理器和4GBRAM。我认为这应该足以处理一些字符串。 最佳答案 您的计算机可能能够处理“一点点额外的垃圾收集”,但是当“一点点”发生在运行数百万次的内部循环中时呢?如果它在内存有限的嵌入式系统上运行呢?有很多地方你可以随意使用字符串,但在某些地方你不能。这完全取决于上下文。 关于ruby-现代计算机的功能是否不足以处理字符串

  10. ruby-on-rails - Rspec - Controller 测试错误 - Paperclip::AdapterRegistry::NoHandlerError: 找不到 "#<File:0x531beb0>"的处理程序 - 2

    我如下询问了我的Rspec测试。Rspec-RuntimeError:Calledidfornil,whichwouldmistakenlybe4在相同的代码上(“items_controller.rb”的Rspec测试),我试图对“PUTupdate”进行测试。但是我收到错误消息“Paperclip::AdapterRegistry::NoHandlerError:找不到“#”的处理程序。我的Rspec测试如下。老实说,我猜这次失败的原因是“let(:valid_attributes)”上的“photo”=>File.new(Rails.root+'app/assets/images

随机推荐