Stata之数据录入
在Stata中,录入数据的方法无非是直接输入数据或者导入已有的数据集。
1.直接输入数据
1.1交互方式输入数据 edit
在命令窗口输入edit,在打开的数据编辑器中直接输入或粘贴数据。需要注意的是,某列变量的数据类型按照此列输入的第一个数据的类型来确定。
1.2程序方式录入数据 input–end
在dofile文件中用input命令录入,录入时要指定变量的类型并给其分配足够的空间。
input Id str10 Name MathScore
0001 张三 99
0002 李四 98
end
save math.dta, replace
2.导入已有的数据或文本
2.1导入dta文件
(1)use可以导入当前工作路径下的dta文件
(2)sysues可以导入Stata自带的系统dta文件,不受路径限制
(3)webuse可以导入Stata官网(默认)或其他可用网址的数据文件(若不指定数据后缀名则默认为dta文件)
webuse "filename" //默认为从 https://www.stata-press.com/data/r16/获取dta文件
webuse set "http://..."//设置资源网址,并从该网址提取数据文件
webuse "filename"
2.2导入文本文件
(1)insheet:可以导入以逗号(.csv)或tab分隔的文档文件,对原文件格式要求较高,但不用指定变量类型,并且允许包含变量名
insheet using filename.csv, clear
(2)infile:可以导入以逗号、tab或空格分隔的文档文件,对原文档文件格式要求不高,但需要先指明变量类型并给其分配足够的空间
infile Id str10 Name using 3origin.txt, clear
(3)infix:更加标准化,变量在原文本中所在的列数大致确定的
infix strL v1 1-10 v2 11-15 str v3 16-20
(4)import delimited:可以自定义分隔符,以及原文本内的行、列范围,甚至更改编码使Stata可识别,默认文件类型为.csv。导入该文件1-10行,1-5列的数据,将第一行作为变量名,编码改为utf-8,以""作为一个分隔符。
import delimited [exvarlist] using "filename",rowrange(1:10) colrange(1:5) varname(1) encoding("utf-8") delimiters("<td>",asstring)
(5)fileread(file):直接读入原文本全部内容,如果file不存在就返回error
gen str v = fileread("temp.txt")
2.3导入Excel文件
Excel数据文件较为常见,此处详讲向Stata导入Excel文件的方法
(1)import excel:可以自定义导入Stata的sheet、变量,甚至是单元格。 导入该Excel工作簿中的"1602班"sheet,把第一行作为变量名。
import excel using "16级第五学期成绩", sheet("1602班") firstrow clear
(2)xmluse:先将Excel文件另存为XML文件,再使用该命令导入
xmluse "3origin.xml", doctype(excel) sheet("甲班") firstrow clear