我有13个观测站的数据集,每天有2万多个观测站(大约50年)。每个站都被放置在一个列中,左边是年份、月份和日期,如下所示!列为(年份、月份、数据、车站名称(a、b、c、d.m)。
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为每月)。它应该为每个站显式执行。
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(),但找不出答案。提前感谢您的任何帮助。
发布于 2016-11-06 01:58:39
从长到宽重新塑造数据。我用这种方法解决了这个问题,用年份、月份和日期对每个列进行子集,然后为每个列执行以下代码。
library(reshape)
reshape(object, idvar =c("Year","Month"), timevar ="Date", direction = "wide")https://stackoverflow.com/questions/40418665
复制相似问题