楼主: zyp860107
1561 8

[数据管理求助] 引用变量的类型 [推广有奖]

  • 1关注
  • 8粉丝

已卖:71份资源

讲师

78%

还不是VIP/贵宾

-

威望
0
论坛币
1187 个
通用积分
80.4733
学术水平
6 点
热心指数
10 点
信用等级
3 点
经验
10288 点
帖子
351
精华
0
在线时间
375 小时
注册时间
2009-5-3
最后登录
2025-3-1

楼主
zyp860107 在职认证  学生认证  发表于 2017-12-2 16:05:12 |AI写论文
50论坛币
我要替换一个数据,这个数据里面有字符变量 和数值变量 ,想把数据里所有变量的空值替换为0,所以用如下循环:
foreach m of var * {
replace `m'=0 if `m'==.
}
但是字符变量是不能运行的,所以我得在replace后面加个条件,把字符变量排除,那怎么识别变量是否是字符变量呢

最佳答案

关键词:replace foreach place Reach 字符变量

回帖推荐

黃河泉 发表于2楼  查看完整内容

试试
经济是优化资源配置

沙发
黃河泉 在职认证  发表于 2017-12-2 16:05:13
zyp860107 发表于 2017-12-2 19:46
想要达到的效果是:如果变量是数值型,那么就把空值替换成0,当然,有非常多的变量,这只是举个例子
试试
  1. mvencode _all, mv(0)
复制代码

藤椅
黃河泉 在职认证  发表于 2017-12-2 16:29:42
请用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与    https://bbs.pinggu.org/thread-5917273-1-1.html

板凳
zyp860107 在职认证  学生认证  发表于 2017-12-2 19:46:30
黃河泉 发表于 2017-12-2 16:29
请用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列出,以供 ...
  1. * Example generated by -dataex-. To install: ssc        install        dataex
  2. clear
  3. input str1 var1 float var2 str1 var3 float var4
  4. "a" 1 "a" 1
  5. "b" 2 "b" 2
  6. ""  . ""  0
  7. "c" 3 "c" 3
  8. end
复制代码
想要达到的效果是:如果变量是数值型,那么就把空值替换成0,当然,有非常多的变量,这只是举个例子

报纸
zyp860107 在职认证  学生认证  发表于 2017-12-2 23:30:45
自己顶一下

地板
zyp860107 在职认证  学生认证  发表于 2017-12-2 23:31:37
请高人指点

7
zyp860107 在职认证  学生认证  发表于 2017-12-4 09:34:04
黃河泉 发表于 2017-12-3 07:26
试试
我自己琢磨出来了一个循环:
g t="float"
foreach m of var * {
local x:type `m'
if t=="`x'"{
replace `m'=0 if `m'==.
}
}
drop t
不过还是大神牛啊,连续解答我两个问题,无限膜拜

8
zyp860107 在职认证  学生认证  发表于 2017-12-4 09:34:06
黃河泉 发表于 2017-12-3 07:26
试试
我自己琢磨出来了一个循环:
g t="float"
foreach m of var * {
local x:type `m'
if t=="`x'"{
replace `m'=0 if `m'==.
}
}
drop t
不过还是大神牛啊,连续解答我两个问题,无限膜拜

9
zyp860107 在职认证  学生认证  发表于 2017-12-4 09:34:11
黃河泉 发表于 2017-12-3 07:26
试试
我自己琢磨出来了一个循环:
g t="float"
foreach m of var * {
local x:type `m'
if t=="`x'"{
replace `m'=0 if `m'==.
}
}
drop t
不过还是大神牛啊,连续解答我两个问题,无限膜拜

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

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