全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2860 4
2016-08-07
大佬们好。初学R,有个数据提取问题,描述如下:
图示为rdata里读取到的2012-2013年沪A数据


我的目标是,提取(每个股票+每个月)的头一个交易日和最后一个交易日所对应的数据,

也就是红框里的这些行。

我知道得从第二列的date入手,

但是每个股票以及每个月的头一个交易日和最后一个交易日,

可能互不相同,没有固定日期

想麻烦高手们支个招,非常感谢

QQ截图20160807182903.jpg


二维码

扫码加我 拉你入群

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

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

全部回复
2016-8-7 20:47:57
直观想法,先把2012-01-29,分开year:2012, month:01, day:29,比如处理后的数据为D,
复制代码


看看能不能得到启发。
二维码

扫码加我 拉你入群

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

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

2016-8-8 04:52:58
可以用dplyr和tidy两个包试试。比较笨的一个思路。
把第二拆用separate()分成:年-月(col2)和日(col3)两列,然后用group_by对第一列(股票名称)和第二列(col2)进行分组,再通过summarize和which.max,which.min对日(col3)做汇总,找出最大日期和最小日期所在的行。知道了行号提取数据就比较容易了。
二维码

扫码加我 拉你入群

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

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

2016-8-8 15:28:08
谢谢楼上亲们。

后来自己弄了个笨办法,新加一列,是把year和month拼成一个整数

month
201201
201202
...
201301
...
201312

再按照month统计。。。
二维码

扫码加我 拉你入群

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

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

2018-11-5 23:02:11
这样也不错。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群