3217 5

[问答] 如何按照指定的日期调整数据框中的数据 [推广有奖]

  • 0关注
  • 1粉丝

已卖:5份资源

博士生

80%

还不是VIP/贵宾

-

威望
0
论坛币
842 个
通用积分
0.0004
学术水平
5 点
热心指数
5 点
信用等级
6 点
经验
5905 点
帖子
149
精华
0
在线时间
532 小时
注册时间
2012-10-15
最后登录
2025-11-11

楼主
愤怒的小鸟! 发表于 2015-10-4 23:16:26 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
遇到一个问题,一直不知如何解决,现在有两个数据框,简化成以下,主要想实现:数据框1的时间序列调整成与数据框2的时间序列相同,同时数据框1中的数据也相应的进行调整,请问这个程序怎么写,非常感谢

1                                                                                 
date                     x1            x2
2012/10/8        -0.010053        0.003911
2012/10/9        0.022071        -0.012605
2012/10/10        0.001707        -0.001859
2012/10/11        -0.009287        -0.007167
2012/10/12        0.000868        -0.018912
2012/10/15        -0.004198        -0.005362
2012/10/16        0.00144        0.001802
2012/10/17        0.001149        0.006669
2012/10/18        0.015331        0.019099
2012/10/19        -0.001544        0.003869

2
date                          y1
2012/10/10        -0.002051
2012/10/11        -0.018404
2012/10/8          -0.001996
2012/10/9                0.004875
2012/10/12        -0.0175
2012/10/18        0.004823
2012/10/19        -0.013264
2012/10/16        -0.007468
2012/10/17        -0.001036
2012/10/15        -0.004646
二维码

扫码加我 拉你入群

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

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

关键词:数据框 时间序列 date 非常感谢 ATE 如何 程序

沙发
ryoeng 在职认证  发表于 2015-10-4 23:42:49

添加签名

提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

藤椅
cheetahfly 在职认证  发表于 2015-10-5 00:22:51
用merge(ts2,ts1,by="date"),然后再筛选ts3[,-2]的方法应该可以实现。我再提供一种方法,你可以试试:
假设两个数据的行数是一致的,创造一个索引向量a:
  1. a<-vector(length=nrow(ts1))
  2. for (i in 1:nrow(ts1))
  3.     a[i] <- which(ts1[,1] == ts2[i,1])
复制代码
然后:
ts1[a,]就是你想要的结果了。
不过由于有循环,可能比不上用merge快。
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

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

板凳
愤怒的小鸟! 发表于 2015-10-5 02:00:02
cheetahfly 发表于 2015-10-5 00:22
用merge(ts2,ts1,by="date"),然后再筛选ts3[,-2]的方法应该可以实现。我再提供一种方法,你可以试试:
假 ...
多谢啊,我试试

报纸
愤怒的小鸟! 发表于 2015-10-5 02:48:01
cheetahfly 发表于 2015-10-5 00:22
用merge(ts2,ts1,by="date"),然后再筛选ts3[,-2]的方法应该可以实现。我再提供一种方法,你可以试试:
假 ...
用了merge(),能把2能调整成1的时间序列,但是我是想把1调整成2的时间序列

地板
愤怒的小鸟! 发表于 2015-10-11 22:11:03
顶一下,难道没有人知道吗

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

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