首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >data.frame从长到宽时间序列的重构

data.frame从长到宽时间序列的重构
EN

Stack Overflow用户
提问于 2016-11-04 09:00:55
回答 1查看 986关注 0票数 0

我有13个观测站的数据集,每天有2万多个观测站(大约50年)。每个站都被放置在一个列中,左边是年份、月份和日期,如下所示!列为(年份、月份、数据、车站名称(a、b、c、d.m)。

代码语言:javascript
复制
Year	Month	Date	a	b	c	d	e	f	g	h	i	j	k	l	m
1961	1	1	0.2	0	0			0.01	0	0	0	0		0		0.04
1961	1	2	0.05	0	0			0	0	0	9.398	1.27		5.842		0.01
1961	1	3	0	0	0			0	0	0	1.27	0		0.01		
1961	1	4	0	0	0			0	0	0	0	0		0		0
1961	1	5	0	0	0			0	0	0	0	0		0		0
1961	1	6	0	0	0			0	0	0	0	0		0		0
1961	1	7	0	0	0			0	0	0	0	0		0		0
1961	1	8	0	0	0			0	0	0	0	0		0		0

我必须在这个维度中重新排序,保持连续一个月和年份,因为列和列显示为月份的年份、月份、日(1,2,3,4,5,........30或31为每月)。它应该为每个站显式执行。

代码语言:javascript
复制
Year	Month	1	2	3	4	5	6	7	8	9	10	11	12	13	14	15	16	17	18
1960	1	0.00	0.00	0.00	0.00	0.00	0.00	0.00	0.00	0.00	0.00	0.00	0.00	0.00	0.00	0.00	0.00	0.00	0.00
1960	1	22	11	0	0	0.3	0	0	0	0	0	0	0	0	0	0	0	0	0

为此,我尝试了aggregate(),但找不出答案。提前感谢您的任何帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-06 01:58:39

从长到宽重新塑造数据。我用这种方法解决了这个问题,用年份、月份和日期对每个列进行子集,然后为每个列执行以下代码。

代码语言:javascript
复制
library(reshape) 
reshape(object, idvar =c("Year","Month"), timevar ="Date", direction = "wide")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40418665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档