楼主: mahairong123
5845 8

[问答] 7在R中如何实现删除一个表格的子表,或者一个表格的部分内容? [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

初中生

57%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
184 点
帖子
12
精华
0
在线时间
12 小时
注册时间
2015-8-2
最后登录
2016-8-2

楼主
mahairong123 发表于 2015-8-4 11:32:14 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

例如现有表1和表1的子表表2,想要根据ID将表1中与表2相同ID的元素删除,得到表3,如何实现啊?

  

ID

  

属性1

属性2

1

12

45

2

12

30

3

15

44

4

13

38

5

17

32

6

14

34

7

23

48

2

  

ID

  

属性1

属性2

1

12

45

2

12

30

4

13

38

7

23

48

现在想删除表1中包含表2的部分,用剩余的元素形成表3.

3

  

ID

  

属性1

属性2

3

15

44

5

17

32

6

14

34


二维码

扫码加我 拉你入群

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

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

关键词:如何实现 子表删除

沙发
十里春风 学生认证  发表于 2015-8-4 11:57:18
  1. dat1<-data.frame(ID=1:7,属性1=c(12,12,15,13,17,14,23),属性2=c(45,30,44,38,32,34,48))
  2. dat2<-data.frame(ID=c(1,2,4,7),属性2=c(12,12,13,23),属性2=c(45,30,38,48))
  3. dat1[!dat1$ID %in% dat2$ID,]
复制代码

已有 1 人评分经验 收起 理由
李会超 + 60 热心帮助其他会员

总评分: 经验 + 60   查看全部评分

藤椅
rosenbloog 发表于 2015-8-4 13:09:57
overlap = c(dat2$ID)
dat3 = dat1[-overlap,]

板凳
曲散人终 发表于 2015-8-4 15:50:18
这种文本处理的用Perl写不是很简单吗。。。

报纸
mahairong123 发表于 2015-8-7 18:42:47
曲散人终 发表于 2015-8-4 15:50
这种文本处理的用Perl写不是很简单吗。。。
不会丫

地板
mahairong123 发表于 2015-8-8 14:57:32
rosenbloog 发表于 2015-8-4 13:09
overlap = c(dat2$ID)
dat3 = dat1[-overlap,]
你好,请问为什么当我的数据增加到几十万个的时候,用这个方法就没有办法删除子表了呢,我的数据一共有三个属性,ID、X坐标和Y坐标,并且对数据中每个元素是唯一的

7
mahairong123 发表于 2015-8-8 15:00:16
mahairong123 发表于 2015-8-8 14:57
你好,请问为什么当我的数据增加到几十万个的时候,用这个方法就没有办法删除子表了呢,我的数据一共有三 ...
每个元素的ID是唯一的,对应着组坐标值

8
rosenbloog 发表于 2015-8-8 23:20:13
mahairong123 发表于 2015-8-8 14:57
你好,请问为什么当我的数据增加到几十万个的时候,用这个方法就没有办法删除子表了呢,我的数据一共有三 ...
不知为啥不能删除

9
guoluo 发表于 2015-8-9 12:41:25
  1. dat1[setdiff(dat1$ID,dat2$ID),]
复制代码

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

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