一、statadestring命令
在Stata中,statadestring命令可以對字符串變量進行轉換,將字符串變量轉化為數值變量或日期變量類型。當字符串變量需要進行數值運算或排序時,我們可以使用該命令進行轉換。
語法格式如下:
statadestring varname [if] [in] [, gen(newvarname) fvfmt(stringfmt) fvlo(numbformat) fvhi(numbformat) replace]
其中,varname表示需要進行轉換的字符串變量名;gen(newvarname)表示將轉換後的變量生成一個新的變量名;fvfmt(stringfmt)表示在對字符串轉換為數值類型時,使用的格式字符串;fvlo(numbformat)和fvhi(numbformat)表示對於含有無窮大或缺失值的字符串,轉換後的取值方式。
下面是一個實例:
sysuse auto, clear list price rep78 gear_ratio, clean noobs statadestring rep78 list price rep78 gear_ratio rep78num, clean noobs
這個實例將rep78字符串變量轉換為rep78num數值變量,並將其添加到了數據集中。
二、statadestring函數
在Stata中,statadestring函數可以將一個字符串類型的變量轉換為數值類型。
語法格式如下:
statadestring(expression [,stringfmt])
其中,expression表示需要轉換的含有數字的字符串變量或字符串,stringfmt表示使用的格式字符串。
下面是一些實例:
clear input str10 strvar "10" "3.4" "5.2" "." ".1" "1.0e-06" "23.4" end gen numvar = statadestring(strvar) // 轉化為數值變量 display numvar
該實例中,將strvar中的字符串轉化為numvar數值變量。
三、statadestring小數位數變少
在Stata中,當字符串類型的數字太長(比如有很多小數位)時,轉化為數值類型後也會按照原來的小數位數顯示。可以通過使用stringfmt參數來控制小數位數。
例如:
clear input str10 strvar "3.45678" end gen numvar = statadestring(strvar, "%10.2f") // 保留兩位小數 format numvar %10.2f // 控制輸出格式 display numvar
通過設置stringfmt參數,將小數位控制為保留2位。
四、statadestring不管用
在Stata中,有時候statadestring在轉換過程中可能會出現問題,例如在使用中輸出全部為missing或者valuelabels里的內容不正確等。這時候可以嘗試使用其他函數或命令進行轉換。
例如:
clear input str10 strvar "3.4" "5.2" "8.1" "2.1" "5.666" end gen numvar = real(strvar) // 使用real函數進行轉換 display numvar
該實例中,使用real函數進行字符串轉換,可以得到正確的結果。
五、stata的string怎麼改
在Stata中,可以使用replace命令將字符串變量進行修改。
例如:
sysuse auto, clear list rep78, clean noobs replace rep78 = "3" if rep78 == "3" list rep78, clean noobs
該實例中,將rep78中所有為字符串”3″的值改為字符串”4″。
六、stata的string
在Stata中,可以通過string命令來創建和修改字符串變量。
例如:
sysuse auto, clear string make2 = make + "2" list make make2, clean noobs
該實例中,將make字符串變量加上”2″之後,生成一個新的字符串變量make2,並將其添加到了數據集中。
七、stata的string變成數值
在Stata中,有時候需要將字符串變量轉換為數值變量類型。可以使用上文提到的statadestring命令或函數進行轉換。
例如:
sysuse auto, clear list price rep78, clean noobs statadestring rep78 list price rep78num, clean noobs
該實例中,將rep78字符串變量轉換為rep78num數值變量,並將其添加到了數據集中。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/296070.html