如何解决stata数据管理器中变量变红的问题

目标:解决open变量变红的问题

如何解决stata数据管理器中变量变红的问题_第1张图片

网上说可以通过以下代码解决(实际上是缘木求鱼)

encode encode 红色数字的变量名, gen(新产生的变量名)
  • 自己尝试用这个代码之后,发现对应变量不是红色了,但变成了蓝色。我开始以为问题已经解决了,但是从实证回归的结果看,实证结果明显和既有的大部分研究不一致。而且实证结果随着控制变量的增减而变化很大,核心解释变量不仅数值变化较大,而且连方向也变了。
  • 于是,一开始我怀疑是我才找的新数据可能有问题,换回以前得出预期结果的数据再跑了一遍代码,发现结果竟然和之前不一样。
  • 这时,我在看了stata数据编辑器中的数据,发现了异样,如下图所示:
  • 其中z=g*open1,很明显stata计算的z值有问题;再看两个大的红色箭头,实际上是一个数据,但是在这里却变成两个不同数据。
    如何解决stata数据管理器中变量变红的问题_第2张图片

也有说可以通过在excel中设置数值格式解决

  • 我尝试这种方法之后,发现问题还是没有解决,于是我怀疑对应变量数据中有非数字。
  • 结果确实如此
    如何解决stata数据管理器中变量变红的问题_第3张图片

那么如何一次性删除excel表中的非纯数字呢

  • 首先按Alt+F11,打开VBA对话框,再插入以下模块,点击运行
  • 详细解释,参加如何从Excel中的单元格中删除非数字字符?
Sub RemoveNotNum()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    xOut = ""
    For i = 1 To Len(Rng.Value)
        xTemp = Mid(Rng.Value, i, 1)
        If xTemp Like "[0-9.]" Then
            xStr = xTemp
        Else
            xStr = ""
        End If
        xOut = xOut & xStr
    Next i
    Rng.Value = xOut
Next
End Sub

你可能感兴趣的:(excel,stata,实证分析,stata,数据变红)