问题描述
我正在尝试将二进制变量从字符串(例如“男”或“女”)转换为二进制(0 和 1)。我尝试了以下操作:
replace q1=1 if q1=="Female"
但我收到以下错误:type mismatch
。这是什么问题,我该如何解决?
请注意,我不想创建新变量,而只想有条件地替换现有变量中的值。
解决方法
不幸的是,您不能这样做。您必须创建一个新变量。
问题是 cup_1 -> bottle_2,cup_2 -> bottle_2,cup_3 -> bottle_1
当前是字符串类型。所以它不能这样存储数值数据。
为什么不创建一个新变量,然后“删除”旧变量?
q1
,
我想出了解决方案:将其转换为类型字符串的数字并使用 destring
命令。
replace q1="1" if q1=="Female"
destring q1,replace