R免费
R 资源公开(不是黑盒子,也不是吝啬鬼)
R可以在UNIX, Windows和Macintosh运行.
R 有优秀的内在帮助系统.
R有优秀的画图功能
学生能够轻松地转到商业支持的 S-Plus程序(如果需要使用商业软件)
R语言有一个强大的,容易学习的语法,有许多内在的统计函数.
S语言在1980年代后期在AT&T实验室开发. R 项目由Auckland 大学统计系的Robert Gentleman和Ross Ihaka于1995年开始的. 它很快得到广泛用户的欢迎. 目前它是由R核心发展团队维持;它是一个由志愿者组成的工作努力的国际团队
访问网站:www.r-project.org ,在CRAN栏目可以找到相应的安装文件。常规的R软件安装包 仅包含最核心的功能模块,如果需要用R做特定领域的数据分析,则需要下载对应功能包(package)。
由于R软件自带操作界面过于简单,在实际使用过程中,我们通常会安装其他的接口界面,如 RStudio。
把其他格式存储的数据导入到R中,是数据分析的第一步。在R基础包{utils}中有函数 read.table()。read.table函数读取txt、csv等格式的文件比较有效,但是对于我们 大多数人常用的excel文件处理不太方便。有许多志愿者提供了针对Excel文件读取的 package,但是我个人认为{RODBC}包最好用。下面一段示例代码:
library(RODBC)
con = odbcConnectExcel("c:/savings.xls") #如果是2007及更高版本的Excel,用odbcConnectExcel2007()
sqlTables(con) #查看Excel文件中表单的名称
## TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS
## 1 c:\\savings <NA> Sheet1$ SYSTEM TABLE <NA>
## 2 c:\\savings <NA> Sheet2$ SYSTEM TABLE <NA>
## 3 c:\\savings <NA> Sheet3$ SYSTEM TABLE <NA>
dat1 = sqlFetch(con,"Sheet1")
odbcClose(con)
head(dat1)
## year income savings
## 1 1970 727.1 61.0
## 2 1971 790.2 68.6
## 3 1972 855.3 63.6
## 4 1973 965.0 89.6
## 5 1974 1054.2 97.6
## 6 1975 1159.2 104.4
虽然有人指出RODBC方式也存在许多不足,但是应付计量经济学中的绝大多数数据集够用了!
利用计算机产生\(T=100\)个\(i.i.d\)的标准正态分布随机变量序列,记这些序列为\(e_1,\cdots, e_{100}\)。
令\(Y_1=e_1\),\(Y_t = Y_{t-1}+e_t\),\(t=2,3,\cdots,100\);则
y = rep(0,100)
y[1] = e[1]
for(i in 2:100){y[i]=y[i-1]+e[i]}
plot(y,type='l')
再利用计算机产生100个i.i.d的标准正态分布新序列\(a_1,\cdots,a_100\)。令 \(X_1=a_1\),\(X_t =X_{t-1}+a_t\),\(t=2,\cdots,100\)。
a = rnorm(100)
x = rep(0,100)
x[1] = a[1]
for(i in 2:100){x[i] = x[i-1]+a[i]}
plot(a,type="l")
plot(x,type="l")
\(X_t\)和\(Y_t\)两个序列分别由两个毫无关系的白噪声累加而成,这两变量之间也因该毫无关系才对。 但是通过分析\(X_t\)和\(Y_t\)的散点图以及回归结果,所得出的结论却与我们的判断并不一致。
library(ggplot2)
library(xtable)
qplot(x,y,geom=c("point","smooth"),method="lm")
summary(lm(y~x))$coef
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.4180341619 0.8245325 0.506995357 0.6132970
## x -0.0008656732 0.1006275 -0.008602753 0.9931536
从回归的结果可以看出,解释变量系数对应的p值远小于0.05,按照经典回归分析的评价标准,此时\(X\)对\(Y\)的影响“显著”!两个本无任何关系的变量,回归结果却认为他们存在“显著”的回归关系,这就是“伪回归”。
函数\(f(x_1,x_2) = 2x_1^2+x_2^2\),
f = function(x1,x2){2*x1^2+x2^2}
x1 = x2 = seq(-3,3,length =50)
z =outer(x1,x2,f)
persp(x1,x2,z,theta = 40 ,phi=20,r=50,d=0.1,shade=0.75,col="lightgreen",
ticktype = "detailed",nticks=7)
面板数据模型:\(Y_{it}\) = \(X_{it}\beta +\alpha_i + u_{it}\),\(i=1,\cdots,N\), \(t = 1,\cdots,T\)。\(i\)表示样本观测个体的个数,\(t\)表示样本观测期数。 \(\alpha_i\)为个体的异质性,用来反映一些不随时期变化仅在个体间有差异的影响因素。
和传统的回归模型类似,面板数据模型也有一些基本假定:
1.解释变量\(X_{it}\)不存在共线性;
2.随机扰动项与解释变量无关,\(E(u_{it}|X_{it})=0\)
3.随机扰动项同方差,\(D(u_{it}|X_{it})=\sigma^2_u\)
传统的估计方法都存在内生性问题。
——————————the end———————————-