基础方法 | 数据管理:Stata与R语言的应用
Posted 来点方法
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基础方法 | 数据管理:Stata与R语言的应用相关的知识,希望对你有一定的参考价值。
今天主要来带大家重温一下数据管理,并提供了Stata和R语言的操作。
-
一些初学者可能意识不到数据管理的重要性,认为数据到手,软件打开,就也可以死出模型,这种想法是大错特错的
-
没有任何一份数据是能拿到手就做模型分析的,必须经过数据清理
-
通常情况下无论多复杂的模型,他的命令也只会有一行,定量研究的工作基本全是在前期数据的清理。
-
例如:所有的数据库中都不会有年龄变量,都需要根据出生年生成
一般而言数据中的缺失值以负数或者一个极端不可能值替代,例如99999
等,但是软件并不认为负数或极端数是缺失值,需要处理成软件可识别的缺失值,如果不处理软件会带入计算
Stata
:replace happy==. if happy==-8
R
语言:cgss$happy[cgss$happy == -8] <- NA
一般在连续变量中奇异值存在的可能性比较大,例如收入。为什么要识别奇异值?
从统计上来说,奇异值的存在严重影响模型估计,最简单的理解是,有极大值存在,均值就会受到非常大的影响。
R
语言:boxplot(cgss$income)
在回归分析中有一个重要的假定,就是变量要服从正态分布,我们可以通过直方图的形式来观察变量是否服从正太分布
例如,一般的数据中都不会直接有年龄这一变量,均是报告的出生年份,所以年龄变量需要生成
Stata
:gen age=2015-birth
R
语言:cgss$age<-2015-cgss$birth
例如:我们研究只关心
60
岁以下的人群怎么办?或者专门研究老年人,该怎么办?
Stata
:keep if age>=60 #
只保留年龄在60
岁以上的样本
R
语言:cgss<-filter(cgss,cgss$age>=60)
例如:性别变量在数据中的编码,男性=1
,女性=2
但是一般情况下,我们会把女性编码0
,男性编码为1
,这样软件就会自动识别这是一个虚拟变量并把0
作为参照组,否则他会当做连续变量计算
Stata
:recode gender (1=1 "
男性")(2=0 "
女性"),gen(newgender)
R
语言:cgss$newgender<-as.factor(recode(as.numeric(cgss$gender),'2'=0,))
以上为大家总结了R
语言和Stata
中关于数据管理常用的命令,通过比较来看,二者在命令上有着一定的相似之处,总体而言Stata
更加简洁一些。
以上是关于基础方法 | 数据管理:Stata与R语言的应用的主要内容,如果未能解决你的问题,请参考以下文章
以基因名字合并两个数据集(R语言,merge函数)
可以不学习stata,只学习r语言吗
写为Stata文件时,R中应用的标签不保存
R语言游戏数据分析与挖掘:为啥要对游戏进行分析
R语言使用haven包的read_spss函数读取spss格式数据使用haven包的read_sas函数读取SAS格式数据使用haven包的read_dta函数读取Stata格式数据
R语言轻松搞定最常用的meta分析!复制粘贴就能拥有~