【发布时间】:2016-04-07 18:23:30
【问题描述】:
我有一个带有短文本字符串的字符串变量。我想根据单个单元格中包含的关键词将所有文本字符串替换为数字。
示例:一些单元格表示“我喜欢猫”,而另一些单元格表示“我不喜欢湿狗的气味”。
我想将值 1 分配给包含单词 cat 的所有单元格,并将数字 2 分配给包含单词 dog 的所有单元格。
我该怎么做?
【问题讨论】:
标签: string spss text-extraction
我有一个带有短文本字符串的字符串变量。我想根据单个单元格中包含的关键词将所有文本字符串替换为数字。
示例:一些单元格表示“我喜欢猫”,而另一些单元格表示“我不喜欢湿狗的气味”。
我想将值 1 分配给包含单词 cat 的所有单元格,并将数字 2 分配给包含单词 dog 的所有单元格。
我该怎么做?
【问题讨论】:
标签: string spss text-extraction
当“cat”出现在 OldVar 中时,这会将 1 放入 NewVar,2 表示“dog”,3 表示“mouse”:
do repeat wrd="cat" "dog" "mouse"/val= 1 2 3.
if index(OldVar, wrd)>0 NewVar=val.
end repeat.
这只有在同一个句子中永远不会有猫和狗的情况下才有用。如果你确实有这种情况,你应该这样做:
do repeat wrd="cat" "dog" "mouse"/NewVar=cat dog mouse.
compute NewVar=char.index(OldVar, wrd)>0.
end repeat.
这将为每个可能的单词创建一个新变量,如果单词出现在 OldVar 中,则为 1,如果不出现,则为 0。
【讨论】:
显然你必须打开一个语法窗口并输入这个命令:
COMPUTE newvar=CHAR.INDEX(UPCASE(VAR1),"ABCD")>0
newvar 是新变量的名称。 VAR1 是要搜索的变量的名称。 ABCD 是要搜索的文本。 注意:这必须是大写字母。
如果找到文本,newvar 将收到值 1。
【讨论】: