楼主: lyt639
1852 5

[编程问题求助] 从多个变量里面根据某个条件挑出某一个生成新变量 [推广有奖]

  • 5关注
  • 7粉丝

已卖:2254份资源

副教授

24%

还不是VIP/贵宾

-

威望
0
论坛币
2505 个
通用积分
9.5083
学术水平
13 点
热心指数
25 点
信用等级
9 点
经验
80721 点
帖子
343
精华
0
在线时间
1071 小时
注册时间
2013-7-26
最后登录
2025-8-27

楼主
lyt639 发表于 2021-1-2 11:27:57 |AI写论文
100论坛币
有一系列关于风险偏好的问题,回答者会在某个问题中的两个选择项出现跳转。需要找出这个转折点risk【x】是几,生成一个变量risk=x

clear
input str7 id double(risk1 risk2 risk3 risk4 risk5 risk6 risk7 risk8 risk9 risk10)
"1" 1 1 1 2 2 2 2 2 2 2
"2" 1 1 2 2 2 2 2 2 2 2
"3" 1 2 2 2 2 2 2 2 2 2
"4" 1 1 1 1 1 2 2 2 2 2
"5" 1 1 1 2 2 2 2 2 2 2
"6" 1 1 2 2 2 2 2 2 2 2
"7" 1 2 2 2 2 2 2 2 2 2
"8" 1 1 1 1 2 2 2 2 2 2
end

例如:id“1”的被试者在10个问题中的答案是1 1 1 2 2 2 2 2 2 2,他在第4个问题时答案出现了转折。于是对他而言风险规避程度是4;同理,"2" 1 1 2 2 2 2 2 2 2 2,在第3个问题时答案出现了转折,风险规避程度为3

最佳答案

ritaing 查看完整内容

尝试以下命令
关键词:多个变量 新变量 double Input Risk
迟钝青年一枚。

沙发
ritaing 发表于 2021-1-2 11:27:58
尝试以下命令
  1. gen risk=.

  2. forvalues i=1(1)9{
  3. local j=`i'+1
  4. replace risk=`j' if risk`i'==1 & risk`j'==2
  5. }
复制代码

藤椅
lyt639 发表于 2021-1-2 16:39:48
自己顶

板凳
黃河泉 在职认证  发表于 2021-1-3 10:34:51
看不懂说明,请利用所附资料举例说明!

报纸
lyt639 发表于 2021-1-4 09:43:22
ritaing 发表于 2021-1-4 09:02
尝试以下命令
是的学会了!谢谢亲!(最后一行 risk`i'==1 那个 `i好像漏掉了然后我自己补了一下嘻嘻)
爱您~

地板
ritaing 发表于 2021-1-4 09:57:32
lyt639 发表于 2021-1-4 09:43
是的学会了!谢谢亲!(最后一行 risk`i'==1 那个 `i好像漏掉了然后我自己补了一下嘻嘻)
爱您~
对的,已补上^_^

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-7 19:21