楼主: King_redatar
8027 7

[数据管理求助] 【STATA】在线等!如何将组内其他记录的缺失值进行补充 [推广有奖]

  • 0关注
  • 4粉丝

本科生

52%

还不是VIP/贵宾

-

威望
0
论坛币
323 个
通用积分
0
学术水平
12 点
热心指数
12 点
信用等级
11 点
经验
3164 点
帖子
70
精华
0
在线时间
72 小时
注册时间
2009-7-19
最后登录
2017-7-3

楼主
King_redatar 在职认证  发表于 2014-1-3 18:48:43 |AI写论文
2论坛币
把11条记录分3组,每组内只有一个记录的V变量的值是已知的,其他记录A变量的值缺失。要求把这些缺失值补充为改组内已知记录V变量的值。如下图,要求把1,3,4对应的V变量的值改为x;6,7对应的改为y;8,9,10改为z.
组号     ID                V 变量

1          1                    .
1          2                    x
1          3                    .
1          4                    .
2          5                    y

2          6                    .
2          7                    .
3          8                    .
3          9                    .
3          10                  .
3          11                 Z

最佳答案

fldxl 查看完整内容

更一般的: forvalues i = 1(1)3 { sum v变量 if 组号==`i' scalar x`i' = r(max) replace V变量 = x`i' if 组号==`i' }
关键词:Stata tata 缺失值 在线等 在线 记录 如何

回帖推荐

ywh19860616 发表于5楼  查看完整内容

*变量名最好不要用中文字符,分别对应修改为var1,var2,var3

沙发
fldxl 在职认证  发表于 2014-1-3 18:48:44
更一般的:
forvalues i = 1(1)3 {
sum v变量 if 组号==`i'
scalar x`i' = r(max)
replace V变量 = x`i' if 组号==`i'
}

藤椅
King_redatar 在职认证  发表于 2014-1-3 18:51:48
要用一般的方法,因为有一万多条记录,以上只是举例。。。

板凳
fldxl 在职认证  发表于 2014-1-3 19:01:47
replace V变量 = x if 组号=="1"
replace V变量 = y if 组号=="2"
replace V变量 = z if 组号=="3"

报纸
ywh19860616 发表于 2014-1-3 19:32:41
*变量名最好不要用中文字符,分别对应修改为var1,var2,var3
  1. egen rmean=mean(var3),by(var1)
  2. replace var3=rmean
复制代码
一份耕耘,一份收获。

地板
King_redatar 在职认证  发表于 2014-1-3 22:24:58
ywh19860616 发表于 2014-1-3 19:32
*变量名最好不要用中文字符,分别对应修改为var1,var2,var3
非常正解!简洁明了。。。最佳答案误点为楼上了,不好意思啊

7
wfldragon 发表于 2014-1-8 12:03:50
不错
研究需要我们共同努力!

8
806966428 发表于 2023-3-7 13:54:49
bysort  组号:replace V变量=V变量[ _n-1 ]  if mi(V变量)

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

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