楼主: 915196765
12744 10

[数据管理求助] stata 中如何批量修改字符型观测值。 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

小学生

21%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
46 点
帖子
4
精华
0
在线时间
3 小时
注册时间
2015-5-26
最后登录
2015-7-9

楼主
915196765 发表于 2015-6-17 10:43:47 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
在数据中有很多是如”XX村“和”XX“的情况,如”黎明村“、”黎明“;”马河村“、”马河“。请问各位,如何去掉所有村庄名后面的”村“字,或者在没有“村”字的村庄名后面加上”村“字。数据太多,不能一个个改。谢谢
二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 字符型 观测值 农村数据

沙发
夏目贵志 发表于 2015-6-17 11:25:51
用substring()检查最后一个字是什么
已有 1 人评分论坛币 收起 理由
hustchen2012 + 20 热心帮助其他会员

总评分: 论坛币 + 20   查看全部评分

藤椅
hoguo15 发表于 2015-6-17 23:32:41
假设你变量名为village,没记错的话用下面这个code就成。有bug的话打h substr看一下这个命令

replace village=substr(village,1,strlen(village)-1) if substr(village, -1, 1)=="村"
已有 1 人评分论坛币 收起 理由
admin_kefu + 15 热心帮助其他会员

总评分: 论坛币 + 15   查看全部评分

板凳
915196765 发表于 2015-6-18 00:48:46
hoguo15 发表于 2015-6-17 23:32
假设你变量名为village,没记错的话用下面这个code就成。有bug的话打h substr看一下这个命令

replace vi ...
谢谢了,不过好像不行啊!

报纸
hoguo15 发表于 2015-6-23 23:12:00
915196765 发表于 2015-6-18 00:48
谢谢了,不过好像不行啊!
你等等我检查一下试试看

地板
jannsz06 发表于 2015-6-23 23:16:16
-----------------------------------------------------------------------------------------------------------------
      name:  <unnamed>
       log:  D:\graph\map_stata\china_map\s1.log
  log type:  text
opened on:  23 Jun 2015, 23:15:56

.  use china_label,clear

.  tab name

                    name |      Freq.     Percent        Cum.
-------------------------+-----------------------------------
                  上海市 |          3        4.55        4.55
                  云南省 |          1        1.52        6.06
            内蒙古自治区 |          1        1.52        7.58
                  北京市 |          1        1.52        9.09
                  台湾省 |          3        4.55       13.64
                  吉林省 |          1        1.52       15.15
                  四川省 |          1        1.52       16.67
                  天津市 |          1        1.52       18.18
          宁夏回族自治区 |          1        1.52       19.70
                  安徽省 |          1        1.52       21.21
                  山东省 |          2        3.03       24.24
                  山西省 |          1        1.52       25.76
                  广东省 |          8       12.12       37.88
          广西壮族自治区 |          1        1.52       39.39
        新疆维吾尔自治区 |          1        1.52       40.91
                  江苏省 |          1        1.52       42.42
                  江西省 |          1        1.52       43.94
                  河北省 |          2        3.03       46.97
                  河南省 |          1        1.52       48.48
                  浙江省 |         11       16.67       65.15
                  海南省 |          1        1.52       66.67
                  湖北省 |          1        1.52       68.18
                  湖南省 |          1        1.52       69.70
                  甘肃省 |          1        1.52       71.21
                  福建省 |          7       10.61       81.82
              西藏自治区 |          1        1.52       83.33
                  贵州省 |          1        1.52       84.85
                  辽宁省 |          5        7.58       92.42
                  重庆市 |          1        1.52       93.94
                  陕西省 |          1        1.52       95.45
                  青海省 |          1        1.52       96.97
          香港特别行政区 |          1        1.52       98.48
                黑龙江省 |          1        1.52      100.00
-------------------------+-----------------------------------
                   Total |         66      100.00

.  replace name = subinstr(name, "省", "", .)
(54 real changes made)

.  replace name = subinstr(name, "市", "", .)
(6 real changes made)

.  replace name = subinstr(name, "回族自治区", "", .)
(1 real change made)

.  replace name = subinstr(name, "壮族自治区", "", .)
(1 real change made)

.  replace name = subinstr(name, "特别行政区", "", .)
(1 real change made)

.  replace name = subinstr(name, "自治区", "", .)
(3 real changes made)

.  replace name = subinstr(name, "维吾尔", "", .)
(1 real change made)

.  tab name

                    name |      Freq.     Percent        Cum.
-------------------------+-----------------------------------
                    上海 |          3        4.55        4.55
                    云南 |          1        1.52        6.06
                  内蒙古 |          1        1.52        7.58
                    北京 |          1        1.52        9.09
                    台湾 |          3        4.55       13.64
                    吉林 |          1        1.52       15.15
                    四川 |          1        1.52       16.67
                    天津 |          1        1.52       18.18
                    宁夏 |          1        1.52       19.70
                    安徽 |          1        1.52       21.21
                    山东 |          2        3.03       24.24
                    山西 |          1        1.52       25.76
                    广东 |          8       12.12       37.88
                    广西 |          1        1.52       39.39
                    新疆 |          1        1.52       40.91
                    江苏 |          1        1.52       42.42
                    江西 |          1        1.52       43.94
                    河北 |          2        3.03       46.97
                    河南 |          1        1.52       48.48
                    浙江 |         11       16.67       65.15
                    海南 |          1        1.52       66.67
                    湖北 |          1        1.52       68.18
                    湖南 |          1        1.52       69.70
                    甘肃 |          1        1.52       71.21
                    福建 |          7       10.61       81.82
                    西藏 |          1        1.52       83.33
                    贵州 |          1        1.52       84.85
                    辽宁 |          5        7.58       92.42
                    重庆 |          1        1.52       93.94
                    陕西 |          1        1.52       95.45
                    青海 |          1        1.52       96.97
                    香港 |          1        1.52       98.48
                  黑龙江 |          1        1.52      100.00
-------------------------+-----------------------------------
                   Total |         66      100.00

.  log c
      name:  <unnamed>
       log:  D:\graph\map_stata\china_map\s1.log
  log type:  text
closed on:  23 Jun 2015, 23:15:56
-----------------------------------------------------------------------------------------------------------------

7
hoguo15 发表于 2015-6-23 23:29:33
code应该是没问题,不过stata好像不认汉字啊,我往里输入"村"显示是"?"

8
孙艾琪 在职认证  发表于 2017-2-22 10:13:43
谢了,很有用

9
xiangxinziji917 发表于 2017-3-28 10:49:55
jannsz06 发表于 2015-6-23 23:16
---------------------------------------------------------------------------------------------------- ...
多谢,很实用!下面我想请教个问题,如果我想把字符型变量中含有某个字的观测删除掉应该怎么做呢?

10
jannsz06 发表于 2017-4-21 19:30:06
xiangxinziji917 发表于 2017-3-28 10:49
多谢,很实用!下面我想请教个问题,如果我想把字符型变量中含有某个字的观测删除掉应该怎么做呢?
drop var1  if  var2=strmatch()

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

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