将变量从字符串转换为数字

问题描述

我正在尝试将二进制变量从字符串(例如“男”或“女”)转换为二进制(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