楼主: undertone
9858 9

[其他] 请教:如何批量替换缺失值?谢谢! [推广有奖]

  • 0关注
  • 0粉丝

已卖:75份资源

本科生

94%

还不是VIP/贵宾

-

威望
0
论坛币
936 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
904 点
帖子
55
精华
0
在线时间
169 小时
注册时间
2005-11-1
最后登录
2024-7-23

楼主
undertone 发表于 2010-11-11 13:48:33 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请教:如果数据中出现诸如"-11111"、"-11333"、"-55555"这样暗示为缺失的数值时,如何用简便地将它们批量替换为"."?谢谢!
不知能否利用通配符……
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:缺失值 如何用 通配符 如何 通配符

沙发
undertone 发表于 2010-11-12 10:59:55
请教问题。顶一顶。谢谢!

藤椅
sungmoo 发表于 2010-11-12 11:35:48
undertone 发表于 2010-11-11 13:48 请教:如果数据中出现诸如"-11111"、"-11333"、"-55555"这样暗示为缺失的数值时,如何用简便地将它们批量替换为"."?谢谢!不知能否利用通配符……
这个你要详细说明有哪些值暗示了缺失值。

(或者说,暗示缺失值的值有什么特征?)

板凳
ctx5518 发表于 2010-11-12 13:40:05
foreach x of varlist * {
          foreach y of numlist -11111 -11333 -55555 {
                replace `x' = . if `x' == `y'
          }
}

报纸
undertone 发表于 2010-11-15 11:30:33
4# ctx5518


感谢ctx5518!但程序运行中出现“类型不匹配”。我的变量中有数字型的,也有字符型的。这是出问题的原因吗?

还请再次点拨!谢谢!



. foreach x of varlist * {
  2.           foreach y of numlist -11111 -11333 -55555 -88888 {
  3.                 replace `x'=. if `x'==`y'
  4.           }
  5. }
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
type mismatch





地板
ctx5518 发表于 2010-11-15 13:19:53
foreach x of varlist * {
          foreach y of numlist -11111 -11333 -55555 {
                capture confirm string var `x'
                if _rc == 0 {
                     replace `x' = "." if `x' == "`y'"
    }  
                else {
                     replace `x' = . if `x' == `y'
                }
          }
}

7
undertone 发表于 2010-11-19 05:53:25
6# ctx5518


谢谢你的回复!

从语句上看,应该很完备了,但运行还是不成功。

错误显示为
unexpected end of file
r(612);


不知道怎么回事……

8
ctx5518 发表于 2010-11-19 14:18:53
我试了一下,没有问题,你自己再看看。

9
grmorpheus 发表于 2010-11-20 13:51:46
很可能是变量的类型出现了错误,如果能把字符型先转化成数值型也许能好一些。
destring x1,replace 就可把字符型变量转化数值型

10
lavendercao 发表于 2011-8-23 21:50:18
destring x1,replace 就可把字符型变量转化数值型。
学习了!!!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-6 05:07