将变量从字符串转换为数字
Transforming a variable from string to numeric
我正在尝试将二进制变量从字符串(例如“男”或“女”)转换为二进制(0 和 1)。我尝试了以下内容:
replace q1=1 if q1=="Female"
但我收到以下错误:type mismatch
。问题是什么,我该如何解决?
请注意,我不想创建新变量,而只是有条件地替换现有变量中的值。
很遗憾,您不能那样做。您必须创建一个新变量。
问题是 q1
当前是字符串类型。所以它不能存储数值数据。
为什么不创建一个新变量,而“删除”旧变量呢?
encode q1, gen(q1b)
drop q1
ren q1b q1
我找到了解决办法:把它变成一个数字类型的字符串,然后使用 destring
命令。
replace q1="1" if q1=="Female"
destring q1, replace
我正在尝试将二进制变量从字符串(例如“男”或“女”)转换为二进制(0 和 1)。我尝试了以下内容:
replace q1=1 if q1=="Female"
但我收到以下错误:type mismatch
。问题是什么,我该如何解决?
请注意,我不想创建新变量,而只是有条件地替换现有变量中的值。
很遗憾,您不能那样做。您必须创建一个新变量。
问题是 q1
当前是字符串类型。所以它不能存储数值数据。
为什么不创建一个新变量,而“删除”旧变量呢?
encode q1, gen(q1b)
drop q1
ren q1b q1
我找到了解决办法:把它变成一个数字类型的字符串,然后使用 destring
命令。
replace q1="1" if q1=="Female"
destring q1, replace