构建倍数 /暂时的/ 行B. R 有一个传奇

根据我的数据 /见图/ 叫 GDP. 我想知道如何按一个时间表建立所有国家。 我想为每个国家/地区获得一个传奇,例如,每行不同的颜色或不同的形式。

我知道如何构建一个系列,例如:

ts.plot/GDP$ALB/

但我不知道如何用传说建造所有系列。

已邀请:

詹大官人

赞同来自:

我在吉尔贝拉强烈借钱,我提供了一个小的选择。 在这里,强调是处理真正的临时行对象可能会更好,因为它通常允许您自动获取您可能感兴趣的输出类型。 Geektrader 向您展示如何使用包进行操作 "xts", 但你也可以用基地制作一些类似的东西。 R.

这是Dzhilber数据示例的修改版本,我将其转换为对象
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


因此,以下是建立计划的两个主要选项:


# 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/

江南孤鹜

赞同来自:

如果您正在使用
xts

要创建时间序列数据,可以使用
plot.xts

来自包裹
xtsExtra

获得所需的结果


#Uncomment below lines to install required packages
#install.packages/"xts"/
#install.packages/"xtsExtra", repos="[url=http://R-Forge.R-project.org"/]http://R-Forge.R-project.org"/[/url]

library/xts/
library/xtsExtra/

head/data/
## ABC DEF
## 2007-01-03 83.80 467.59
## 2007-01-04 85.66 483.26
## 2007-01-05 85.05 487.19
## 2007-01-08 85.47 483.58
## 2007-01-09 92.57 485.50
## 2007-01-10 97.00 489.46


plot.xts/data, screens = factor/1, 1/, auto.legend = TRUE/


你得到这样的东西

如果您希望在单独的面板中的数据:


plot.xts/data, auto.legend = TRUE/

小明明

赞同来自:

总B. 2 使用线路 ts.plot


ts.plot/time,gpars= list/col=rainbow/10///
legend/"topleft", legend = 1:10, col = 1:10, lty = 1/


结果:多个构建 /暂时的/ 行B. R 有一个传奇

喜特乐

赞同来自:

那这个呢? ..


> 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 # this is how the data.frame looks like:
Year Country2 Country3 Country4 Country5 Country6
1 2000 874.7092 1302.3562 1183.7955 1271.7359 967.0953
2 2001 1036.7287 1077.9686 1156.4273 979.4425 949.3277
3 2002 832.8743 875.7519 1014.9130 1077.5343 1139.3927
4 2003 1319.0562 557.0600 602.1297 989.2390 1111.3326
5 2004 1065.9016 1224.9862 1123.9651 724.5881 862.2489
6 2005 835.9063 991.0133 988.7743 917.0011 858.5010
7 2006 1097.4858 996.7619 968.8409 921.1420 1072.9164
8 2007 1147.6649 1188.7672 705.8495 988.1373 1153.7066
9 2008 1115.1563 1164.2442 904.3700 1220.0051 977.5308
10 2009 938.9223 1118.7803 1083.5883 1152.6351 1176.2215
> matplot/DF[,-1], col=1:ncol/DF/, type='l', lty=1, ylim=range/DF/, axes=FALSE/
> axis/1, 1:nrow/DF/, as.character/DF[,1]//
> axis/2/
> box// #- to make it look "as usual"
> legend/'topright', names/DF/, col=1:ncol/DF/, lty=1, cex=.65/

要回复问题请先登录注册