楼主: 田伯光嘎嘎
3443 7

[问答] 请问R语言怎样将某列批量替换成12345--------- [推广有奖]

  • 7关注
  • 0粉丝

大专生

58%

还不是VIP/贵宾

-

威望
0
论坛币
20 个
通用积分
6.2557
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
510 点
帖子
33
精华
0
在线时间
51 小时
注册时间
2018-2-27
最后登录
2024-7-19

楼主
田伯光嘎嘎 发表于 2020-2-21 09:49:11 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
如题:如果变量中某一列是中国各省份,我希望把各省份替换成1/2/3/4/5·········比如广东为1/江苏为2,貌似是使用factor操作
二维码

扫码加我 拉你入群

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

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

关键词:R语言 factor Facto 中国各省 fact R语言 factor

沙发
szxship 发表于 2020-2-21 11:30:45
假设你数据是dat,相应的列是x
如果你的这一列数据本身是factor,则
as.numeric(dat['x'])
如果你的这一列数据是字符串,则是
as.numeric(as.factor(dat['x']))

已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
crystal8832 + 10 + 10 + 1 + 1 + 1 精彩帖子
cheetahfly + 10 热心帮助其他会员

总评分: 经验 + 10  论坛币 + 20  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
田伯光嘎嘎 发表于 2020-2-21 19:53:55
szxship 发表于 2020-2-21 11:30
假设你数据是dat,相应的列是x
如果你的这一列数据本身是factor,则
as.numeric(dat['x'])
谢谢,刚登陆。那转化后,如果我想看具体每个数字对应的变量呢。比如一共30多个省份,R中已经默认xx省=数字几了,可是几千条几万条数据,我要怎么操作才可以一下看到他们之间的对应关系呢?下午我用excel重新匹配的。简单的工作做的十分复杂了。

板凳
crystal8832 学生认证  发表于 2020-2-22 13:48:36
田伯光嘎嘎 发表于 2020-2-21 19:53
谢谢,刚登陆。那转化后,如果我想看具体每个数字对应的变量呢。比如一共30多个省份,R中已经默认xx省=数 ...
用table命令

报纸
szxship 发表于 2020-2-22 15:17:27
田伯光嘎嘎 发表于 2020-2-21 19:53
谢谢,刚登陆。那转化后,如果我想看具体每个数字对应的变量呢。比如一共30多个省份,R中已经默认xx省=数 ...
dat = data.frame(x = rep(c('广东','江苏','浙江'),c(10,15,20)))
dat['y'] = as.numeric(dat[['x']])
dat[dat['y'] == 1,]
不是特别清楚你的问题,你看看上面例子是否符合你的要求

地板
田伯光嘎嘎 发表于 2020-2-23 14:34:28
crystal8832 发表于 2020-2-22 13:48
用table命令
谢谢我试试吧

7
huaji_2019 发表于 2020-2-25 19:33:15
自定义一个函数也比较快 就是对应关系要写很长

8
sunf2020 发表于 2020-2-26 21:43:02
cityray<-c('广东','江苏','浙江',"山东")  #唯一的名称序列
cityid<-1:4  #唯一的ID序列,对应关系
citydex<-rep(c('广东','江苏','浙江',"山东"),3)  #举例,不唯一的名称序列
mk<-match(citydex,cityray)
cid<-cityid[mk]  #cid即为与citydex匹配的ID号

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-3 14:34