Pożyczanie ciężko od Jilber, ofiaruję lekką odmianę. Tutaj nacisk kładzie się na to, że lepiej poradzić sobie z rzeczywistymi obiektami szeregów czasowych, ponieważ to na ogół pozwoli ci w pewien sposób automatycznie uzyskać typy wyników, które mogą Cię zainteresować. Geektrader pokazuje, jak to zrobić z "xts "pakiet, ale możesz też zrobić coś podobnego z bazą R.
Oto zmodyfikowana wersja przykładowych danych Jilbera, gdzie przekonwertowałem go na obiekt ts
.
set.seed(1)
DF <- data.frame(2000:2009,matrix(rnorm(50, 1000, 200), ncol=5))
colnames(DF) <- c('Year', paste0('Country', 2:ncol(DF)))
DF.TS <- ts(DF[-1], start = 2000, frequency = 1)
DF.TS
# Time Series:
# Start = 2000
# End = 2009
# Frequency = 1
# Country2 Country3 Country4 Country5 Country6
# 2000 874.7092 1302.3562 1183.7955 1271.7359 967.0953
# 2001 1036.7287 1077.9686 1156.4273 979.4425 949.3277
# 2002 832.8743 875.7519 1014.9130 1077.5343 1139.3927
# 2003 1319.0562 557.0600 602.1297 989.2390 1111.3326
# 2004 1065.9016 1224.9862 1123.9651 724.5881 862.2489
# 2005 835.9063 991.0133 988.7743 917.0011 858.5010
# 2006 1097.4858 996.7619 968.8409 921.1420 1072.9164
# 2007 1147.6649 1188.7672 705.8495 988.1373 1153.7066
# 2008 1115.1563 1164.2442 904.3700 1220.0051 977.5308
# 2009 938.9223 1118.7803 1083.5883 1152.6351 1176.2215
Teraz tutaj są dwie podstawowe opcje kreślenia:
# Each country in a separate panel, no legends required
plot(DF.TS)

# All countries in one plot... colorful, common scale, and so on
plot(DF.TS, plot.type="single", col = 1:ncol(DF.TS))
legend("bottomleft", colnames(DF.TS), col=1:ncol(DF), lty=1, cex=.65)

Należy próbki danych. –
@geektrader Witam, przepraszam, czy możesz podać mi więcej szczegółów, których nie rozumiem. – S12000
Jednym ze sposobów uzyskania pożądanego wykresu byłoby użycie ggplot2, jak pokazano [tutaj] (http: // stackoverflow.com/questions/13324004/plotting-multiple-time-series-in-ggplot) –