楼主: joinber
2440 2

[问答] 求助,R语言如何提取数据后把其他对应性质加入进去? [推广有奖]

  • 0关注
  • 0粉丝

初中生

61%

还不是VIP/贵宾

-

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

楼主
joinber 发表于 2015-10-10 08:38:33 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
大家好! 刚接触R语言,可能问题有些初级,还请大家不吝帮助,谢谢!
      有两个数据集A和B(包括时间,类型,数值等数据),除去类型一列外,A包含B,A'和B'是除去类型一列后的新数据集,我用C'<- setdiff(A',B')得到不包含在B'中数据的新数据集。问题是,如何将相应的类型参数添加到新数据集中,或者如何从A中提取出C中数据对应的各行数据?
     先多谢各位大侠了!
下面举例两组数据,要得到包含在A中但不包含在B中的数据,要包括type这一列参数。请教一下,如何处理?
A和B如下:
A:                                                                                B:
time               type        price              amount                  time        price          amount
13:07:38        买入        0.572         111.8                         13:07:38        0.572         111.8
13:03:46        卖出        0.571         728.3842                   12:54:37        0.572         68
13:01:43        卖出        0.571         1200                         12:54:12        0.572         46.9101
13:01:06        卖出        0.571         1328.3842                 12:53:33        0.572         46.9101
13:00:54        卖出        0.571         1748.3842                 12:51:47        0.572         417
12:54:37        买入        0.572         68                            12:50:01        0.572         500
12:54:12        卖出        0.572         46.9101                    12:49:34        0.572         103
12:53:33        卖出        0.572         2953.0899                 12:49:18        0.572         35
12:53:33        卖出        0.572         46.9101                    12:49:03        0.572         1000
12:51:47        买入        0.572         417                          12:48:35        0.572         200
12:50:01        买入        0.572         500        
12:49:34        买入        0.572         103
12:49:18        买入        0.572         35
12:49:03        买入        0.572         1000
12:48:35        买入        0.572          200

想得到A排除B后的C,如下:                                                        
   time         type         price                amount
13:03:46        卖出        0.571         728.3842
13:01:43        卖出        0.571         1200
13:01:06        卖出        0.571         1328.3842
13:00:54        卖出        0.571         1748.3842
12:53:33        卖出        0.572         2953.0899
12:51:47        买入        0.572         417
12:50:01        买入        0.572         500
12:49:18        买入        0.572         35
二维码

扫码加我 拉你入群

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

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

关键词:如何提取 R语言 数据集 大家好 如何

回帖推荐

ddinghzau 发表于2楼  查看完整内容

> setdiff.data.frame = function(A, B){+ g setdiff.data.frame = function(A, B){+ g setdiff.data.frame(A, B) timetypeprice amount213:03:46 卖出0.571 728.3842313:01:43 卖出0.5711200.0000413:01:06 卖出0.5711328.3842513:00:54 卖出0.5711748.38428 12:53:33 卖出0.5722953.0899

沙发
ddinghzau 发表于 2015-10-10 20:46:37

> setdiff.data.frame = function(A, B){

+     g <-  function( y, B){

+         any(apply(B, 1, FUN =function(x)

+             identical(all.equal(x,y),TRUE) ) )}

+     unique(A[!apply(A,1, FUN = function(t) g(t[-2], B) ), ])

+  }

> setdiff.data.frame = function(A, B){

+     g <-  function( y, B){

+         any(apply(B, 1, FUN =function(x)

+             identical(all.equal(x,y),TRUE) ) )}

+     unique(A[!apply(A,1, FUN = function(t) g(t[-2], B) ), ])

+ }

> setdiff.data.frame(A, B)

     timetypeprice    amount

213:03:46 卖出0.571  728.3842

313:01:43 卖出0.5711200.0000

413:01:06 卖出0.5711328.3842

513:00:54 卖出0.5711748.3842

8 12:53:33 卖出0.5722953.0899
已有 1 人评分经验 论坛币 收起 理由
李会超 + 60 + 20 热心帮助其他会员

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

藤椅
joinber 发表于 2015-10-12 10:44:05
非常感谢你的回复
我好好学习研究研究

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 11:44