我对R中的情节(时间序列)有疑问,希望有人能给我一些建议:
我有一个R项目(最新版本),我想比较河流出水量与降水量和其他气候因素。这是我想做的季节和/或月亮。但是,当我想绘制我的数据时,R通过monthes创建X轴。为了将所有数据(monthes)放在一个图中,我的想法是x轴显示monthes的天数,y轴显示升/ s。但是如何改变R关于x轴的行为?
以下是我的示例数据(50个数据集):
outflow = outflow_orig[sample(nrow(outflow_orig),50),]
show(outflow)
datum liter_s
939 03.12.2012 16.40
422 31.01.2008 53.62
1373 18.02.2016 37.34
997 28.06.2013 117.20
719 30.07.2010 50.62
1253 09.06.2015 57.36
79 19.11.2004 21.62
1012 31.08.2013 60.28
745 08.11.2010 37.96
562 05.03.2009 77.28
15 27.12.2003 18.47
730 03.09.2010 45.93
1150 16.10.2014 18.47
460 12.06.2008 48.79
104 03.02.2005-na 26.66
504 20.11.2008 17.46
1048 11.01.2014 41.12
1241 09.05.2015 61.03
763 04.01.2011 49.47
1146 02.10.2014 18.47
1224 04.04.2015 66.36
909 19.07.2012 31.71
155 27.04.2005 75.87
147 12.04.2005 71.96
889 30.04.2012 59.35
268 09.06.2006 64.70
797 11.04.2011 59.65
932 02.11.2012 17.97
657 08.01.2010 41.93
113 11.12.2003 19.43
226 05.01.2006 26.31
396 06.11.2007 20.26
82 03.12.2004 20.35
1062 21.02.2014 39.29
299 09.11.2006 23.11
1264 09.07.2015 47.15
152 21.04.2005-17.15 81.40
665 11.02.2010 48.90
348 12.04.2007 53.17
407 11.12.2007 32.53
648 25.12.2009 36.46
785 24.02.2011 81.10
1331 01.12.2015 18.96
711 07.07.2010 46.40
498 31.10.2008 17.66
1489 26.10.2016 19.43
606 22.07.2009 46.85
496 23.10.2008 17.97
1120 18.08.2014 16.93
946 23.12.2012 23.47
创建XTS对象,因为有时我每天有两次测量,数据集中有字符。
outflow.xts <- apply.daily(xts(outflow$liter_s, order.by = strptime(outflow$datum, format = "%Y-%m-%d", tz = "")),"mean", na.rm=TRUE)
outflow.df <- data.frame(date=index(outflow.xts), coredata(outflow.xts))
str(outflow.df)
'data.frame': 1456 obs. of 2 variables:
$ Datum : Date, format: "2003-11-05" "2003-11-09" "2003-11-12" ...
$ liter_s: num 19.9 19.9 23.5 19.4 19.4 ...
提取蒙特/季节:
january = outflow.xts[.indexmon(outflow.xts) %in% c(0)]
summer = outflow.xts[.indexmon(outflow.xts) %in% c(6,7,8)]
第二:气候数据:
klimadaten <- read.csv(file="Klimastation_Langensallach-2003-2016-LFL_Bayern.csv",header = TRUE,sep = ";", dec=".", stringsAsFactors = FALSE)
klimadaten$datum = as.Date(klimadaten$datum, format("%d.%m.%Y"))
klimadaten[,2:7] = apply(klimadaten[,2:7], 2, as.numeric)
# Remove NA
klimadaten = klimadaten[complete.cases(klimadaten[, 6]),]
str(klimadaten)
'data.frame': 4580 obs. of 7 variables:
$ datum : Date, format: "2003-11-01" "2003-11-02" "2003-11-03" ...
$ eistag : num 0 0 0 0 0 0 0 0 0 0 ...
$ frosttag : num 0 0 0 0 0 0 0 0 0 1 ...
$ temp_luft_2m : num 6.52 5.43 7.77 7.9 6.04 5.2 3.94 5.63 5.28 1.46 ...
$ niederschlag_mm: num 0.7 0.1 0.3 0 0 0 0 0 0 0.1 ...
$ temp_boden_5cm : num 6.39 6.19 6.25 6.68 5.69 5.2 5.08 4.97 4.77 4.52 ...
$ luftfeuchte_rel: num 91.9 87.7 82 83.8 81.7 ...
head(klimadaten)
datum eistag frosttag temp_luft_2m niederschlag_mm temp_boden_5cm luftfeuchte_rel
1 2003-11-01 0 0 6.52 0.7 6.39 91.93
2 2003-11-02 0 0 5.43 0.1 6.19 87.73
3 2003-11-03 0 0 7.77 0.3 6.25 82.03
4 2003-11-04 0 0 7.90 0.0 6.68 83.84
5 2003-11-05 0 0 6.04 0.0 5.69 81.74
6 2003-11-06 0 0 5.20 0.0 5.20 68.53
现在我对R的真正基本知识结束了......我如何在一个图表和第二个图表中绘制流出单位?如何绘制引用气候数据的季节和子集?
真的,谢谢你的任何帮助和建议。
来自德国的亲切问候 的Sascha
答案 0 :(得分:0)
我想我得到了解决问题的方法。 funktion fortify()帮助我从新数据框中的XTS中提取值和索引。有了2个值,我就可以创建一个我知道的情节。 这个问题现在可以“关闭”(如果可能的话)。 亲切的问候