楼主: 熊小贤
1113 2

[问答] 悬赏请教个编程小问题 [推广有奖]

  • 2关注
  • 0粉丝

等待验证会员

已卖:66份资源

本科生

75%

还不是VIP/贵宾

-

威望
0
论坛币
1102 个
通用积分
0.0600
学术水平
4 点
热心指数
6 点
信用等级
1 点
经验
461 点
帖子
36
精华
0
在线时间
169 小时
注册时间
2013-3-25
最后登录
2021-6-7

楼主
熊小贤 发表于 2013-8-5 17:20:10 |AI写论文
50论坛币
我有三个数据集(a,b,c)
a中有全部的观测,现在想在a中建立一个新的变量a$v,如果a中观测在b中v的值为1,如果在c中V的值为2
像这样如a:
id name V
1   TY
2   HJ
3   KL
4   GH
b:
id name
1   TY
2   HJ
3   KL

c:
id name
4  GH
整理完想要的结果像这样:
a:
id name  V
1   TY     1
2   HJ     1
3   KL     1
4   GH    2

请教各位大神在R中如何实现呢?

关键词:悬赏请教 小问题 name 如何实现 数据集 R语言

沙发
统计R浪人 发表于 2013-8-5 17:20:11
  1. a<-list(id=1:4,name=c("TY","HJ","KL","GH"),V=rep(0,4))
  2. b<-list(id=1:3,name=c("TY","HJ","KL"))
  3. c<-list(id=1,name="GH")
  4. for(i in 1: ncol(t(a$id)))
  5. {
  6.     for(j in 1:ncol(t(b$id)))
  7.        {if(a$name[i]==b$name[j])
  8.            a$V[i]=1     
  9.        }
  10.     for(s in 1:ncol(t(c$id)))
  11.        {if(a$name[i]==c$name[s])
  12.            a$V[i]=2     
  13.        }
  14. }
  15. print(a)
复制代码
已有 1 人评分论坛币 收起 理由
admin_kefu + 100 热心帮助其他会员

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

藤椅
统计R浪人 发表于 2013-8-6 09:29:55
  1. > a<-list(id=1:4,name=c("TY","HJ","KL","GH"),V=rep(0,4))
  2. > b<-list(id=1:3,name=c("TY","HJ","KL"))
  3. > c<-list(id=1,name="GH")
  4. > for(i in 1: ncol(t(a$id)))
  5. + {
  6. +     for(j in 1:ncol(t(b$id)))
  7. +        {if(a$name[i]==b$name[j])
  8. +            a$V[i]=1     
  9. +        }
  10. +     for(s in 1:ncol(t(c$id)))
  11. +        {if(a$name[i]==c$name[s])
  12. +            a$V[i]=2     
  13. +        }
  14. + }
  15. > print(a)
  16. $id
  17. [1] 1 2 3 4

  18. $name
  19. [1] "TY" "HJ" "KL" "GH"

  20. $V
  21. [1] 1 1 1 2
复制代码

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-21 02:16