如何在 R 中的单个折线图上绘制矩阵的列

Kan*_*ane 11 r

我创建了一个函数,它从一个 txt 文件中读取数据来创建一个表,进行一些数据操作,然后将结果放入一个矩阵中。这是结果示例:

          Canada     France       Germany      Italy        Japan        
1973 0.107843137 0.13583815  0.0684713376 0.19417476  0.231732777
1974 0.108407080 0.11704835  0.0596125186 0.17073171  0.116949153
1975 0.075848303 0.09567198  0.0436005626 0.16666667  0.095599393
1976 0.077922078 0.09563410  0.0363881402 0.19345238  0.081717452
1977 0.089500861 0.09108159  0.0273081925 0.12468828  0.042253521
Run Code Online (Sandbox Code Playgroud)

我想弄清楚如何在图表上绘制这些数据。我想将年份作为 x 轴,将通货膨胀率作为 y 轴。所以最后,我想要一张带有每个国家/地区的线条(不同颜色)的图表。

这是可能的吗?

任何帮助表示赞赏,谢谢。

akr*_*run 8

尝试

matplot(rownames(m1), m1, type='l', xlab='Years', ylab='rate', col=1:5)
legend('bottomright', inset=.05, legend=colnames(m1), 
                            pch=1, horiz=TRUE, col=1:5)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

或使用 ggplot

library(ggplot)
library(reshape2)

ggplot(melt(m1), aes(x=Var1, y=value, col=Var2))+
                                          geom_line()
Run Code Online (Sandbox Code Playgroud)

数据

m1 <- structure(c(0.107843137, 0.10840708, 0.075848303, 0.077922078, 
0.089500861, 0.13583815, 0.11704835, 0.09567198, 0.0956341, 0.09108159, 
0.0684713376, 0.0596125186, 0.0436005626, 0.0363881402, 0.0273081925, 
0.19417476, 0.17073171, 0.16666667, 0.19345238, 0.12468828, 0.231732777, 
0.116949153, 0.095599393, 0.081717452, 0.042253521), .Dim = c(5L, 
5L), .Dimnames = list(c("1973", "1974", "1975", "1976", "1977"
), c("Canada", "France", "Germany", "Italy", "Japan")))
Run Code Online (Sandbox Code Playgroud)