Stata与R语言交互之rsource篇

2017-01-25 王鑫 爬虫俱乐部 爬虫俱乐部

红红火火

农历新年已进入倒计时了,在此小编给大家拜个早年,希望大家生活红红火火!没错,今天小编就要给大家介绍在当前Stata软件中最火的命令之一——rsource命令,大家速速前来围观,看看rsource命令到底有多火……

ssc hot

命令rsource实现了在Stata中运行R代码,可见R软件也是一款非常流行的软件。当然,这都是题外话了,下面就来研究下rsource的基本用法吧。

R软件中的准备工作

首先,新建R程序脚本,我们以自带的cars数据集为例,分析汽车速度对刹车距离的影响,代码如下:

data(cars)     #使用cars数据集

attach(cars)     #设置carsR默认处理数据

yy <- lm(dist ~ speed)     #distspeed做线性回归

x <- summary(yy)     #储存描述性统计结果

print(x)    

我们把这个程序脚本保存为cars.R,存在D盘下,另外我们还需要保存一份cars.dta格式的数据(使用扩展包foreign),从而方便验证rsouce执行R代码的准确性。

Stata中rsource应用

首先,在Stata中下载Rsource安装包,代码如下:

ssc install rsource

其次,使用rsource运行car.R文件,代码如下:

cd D:\

global Rterm_path "D:\software\R-3.3.2\bin\x64\Rterm.exe"

global Rterm_options"--vanilla"

rsource using cars.R,roptions(--slave)     //关键命令

use "cars.dta",clear    

regress dist speed

注:

23行是设置rpath()roptions()较为简单的方法;Rterm_path定义了用户系统R命令运行的路径,“Rterm.exe”适用于windows系统,如果大家使用的其他系统请参考“/usr/bin/r”,详情请查看rsource帮助文件。

结果如下所示:

上图为在Stata中运行R代码的结果,下图是Stata一元线性回归结果,对比两图,结果均是一致的,即rsource命令可以准确运行R语言的程序代码。

另外,rsource也可以实现在Stata中编写R代码,这里参考rsource帮助文件,举例如下:

cd D:\

sysuse auto, clear

saveold myauto.dta, version(12) replace

rsource, terminator(END_R)

library(foreign);

rauto<-read.dta("myauto.dta", convert.f=TRUE);

rauto;

attributes(rauto);

q();

END_R

注:

rsource与最后一行命令“END_R”之间的命令均识别为R命令,“END_R”可以通过rsource的选择项“terminator()”由用户自定义。

这里只是简单介绍rsource编写R命令的功能,希望感兴趣的朋友们多多研究,相互交流!

接下来报告空气质量

全国空气质量如下

河南的朋友请多保重


以上就是今天给大家分享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~,点赞打赏随您心意,么么哒~

应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~

编辑 by张欢



往期推文推荐:

1.合并输出回归结果和其他检验结果——esttab和estadd

2.关于RTF你不知道的命令

3.关于RTF你不知道的命令之番外篇

4.免费事件研究,一片片从邮局寄来

5.免费的股价同步性,一片片从邮局寄来

6.Stata叫你回家听音乐了!

7.一言不合就用stata写邮件(Outlook/Foxmail)

8.玩转stata之调用浏览器

9.I have a Stata, I have a python

10.I have a Stata, I have a Python之二——pdf转word




关于我们

微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。

此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。

投稿邮箱:xueyuan19920310@163.com

投稿要求:

1)必须原创,禁止抄袭;

2)必须准确,详细,有例子,有截图;

注意事项:

1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。

2)邮件请注明投稿,邮件名称为“投稿”+“推文名称”。

3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

欢迎关注爬虫俱乐部

微信扫一扫
关注该公众号