方法一:创建新的符合格式的变量
(方法二更简单)
*如果Stata可以直接打开你的数据表格的话就直接打开,不能的话就用import导入excel表格
describe //可以看到数据格式是str,文本类型,所以呈现红色
encode A,generate(yy) //A是你要转变的数据列,yy是你给这列数据起的新名字
des yy //描述新生成的符合格式的变量yy,可以看到数据格式变了
原来的A列是红的
形成新的变量yy
总结:这是直接创建一个新的符合格式的变量,原来的数据保持不动。
方法二:直接将字符型变量转化为数值型的命令
destring n,replace force //n可以为变量名字,注意:变量名字得是英文的,如果不是的话,你可以用rename命令改变变量名称
这个方法更方便省事!是直接在原表上改变数据格式,不过如果转换出错将找不到原始的字符串变量。
*像上表直接写为:
destring A,replaace force //此时“省级政区代码”这六个字会变成一个点
方法三:直接复制粘贴表格,不复制标签
具体步骤:先用WPS打开Excel表格,然后不带变量名称的复制整个表格(就是第一行不复制,其他原本复制下来),然后粘贴在Stata表格编辑里,此时的数值数据不是红色了,不过文本数据还是红色。给粘贴上的数据用rename命令重命名。
这个方法可能会出现一个问题,就是原本数值数据太长的话,它会帮你用一个公式表达出来,像下图的变量var8
用describe命令可看到,var8只有8个字符那么长
现在用format命令改变字符长度:
format var8 %16.0g //16.0意思是改为16个字符那么长,你觉得太长的话也可以改为10.0。
完整的数据就表达出来啦!
format命令的用法是:
format varlist %fmt
这个方法应该是最麻烦的…
另外,老师好像讲了将数据保存为csv的格式然后再干嘛的,我没跟上 /(ㄒoㄒ)/~~
下次搞懂了再回来更新。
先用import 导入exceldescribe //可以看到数据格式是strencode A, generate (此处填入新变量的名字)des 新变量名字就可以创建一列符合格式的数据
自己尝试用这个代码之后,发现对应变量不是红色了,但变成了蓝色。我开始以为问题已经解决了,但是从实证回归的结果看,实证结果明显和既有的大部分研究不一致。而且实证结果随着控制变量的增减而变化很大,核心解释变量不仅数值变化较大,而且连方向也变了。
于是,一开始我怀疑是我才找的新数据可能有问题,换回以前得出预期结果的数据再跑了一遍代码,发现结果竟然和
原数据(显示为字符串)含有“,”,无法进行求均值等统计量的分析。再转数值类型的路上一路崩溃。
:encode t_culture_market_employee,gen(t_culture_market_ee)
保存的数据为随机数1 2 3 4 5
:destring t_culture_market_i
stata中
红色的
数据为字符型存储,在对上市公司股票
数据进行处理时,需要将日期转化为数字类型,这样能够进行加减运算,计算事件研究法的时间差。注意:此两行代码都要运行,不能缺少。
generate var2=date(var1, "YMD")
format var2 %td
转换结果:
将数据从excel复制或导入stata中经常会遇到字体红色的情况,一般是因为数据非字符。运行destring,replace经常看到
“contains nonnumeric characters; no replace”警告
这种情况最好不要贸然运用destring加force等选项,这样可能带来数值扭曲。原本仅仅格式有问题的观测值可能被软件处理成缺失值等。
最稳妥的方法是,检验到底那些数据是nonnumeric以及其特征。
命令:tab var if regexm(var,"[^0-9.]"
1.控制变量、中介变量与调节变量
调节变量是与控制变量都是自变量。调节变量是外来的变量,非模型的一部分,只有在证明存在干扰效果的时候才会代入。控制变量是模型的一部分,主要目的是为了得到更为精确的估计。调节变量不是研究者关注的核心自变量,而是为了澄清核心自变量与因变量的关系,即:在调节变量取不同值的情况下,核心自变量与因变量的关系有何变化。 比较一下,控制变量也是为了澄清上述关系,但控制变量的终极目标是分离出核心自变量对因变量的纯影响 ...
控制变量是模型中除了自变.
1.将字符型数据转换成日期型:(用stata的自带help datetime可查具体操作)
例如将字符型2010-01-05 14:04:31.890 (variant1)转换成数值型的05Jan2010:
gen double eventtime=clock(variant,"YMDhms")
gen eventdate=dofc(eventtime)
format eventdate=