1

我有一张巨大的桌子,我想绘制一张图,让我们说这张桌子上有两个不同的行。

下面你可以看到我的数据集的一个小概述。

我现在想为国家 4 绘制 1,2 和 3 年的生产,以便有人可以看到随着时间的变化

与国家 6 相同

X 轴上应该是年份,Y 轴上应该是值。

有人可以帮助我吗?

提前致谢!

   country    year1        unit        year2        unit    year3
    1          5.1         tonnes       1.4         tonnes   5
    2          4.9         tonnes       1.4         tonnes   2
    3          4.7         tonnes       1.3         tonnes   3.5
    4          4.6         tonnes       1.5         tonnes   8
    5          5.0         tonnes       1.4         tonnes   8
    6          5.4         tonnes       1.7         tonnes   6
4

1 回答 1

4

这些是创建情节的步骤。

数据:

dat <- read.table(text="country    year1      unit      year2      unit    year3
   1          5.1         tonnes       1.4         tonnes   5
   2          4.9         tonnes       1.4         tonnes   2
   3          4.7         tonnes       1.3         tonnes   3.5
   4          4.6         tonnes       1.5         tonnes   8
   5          5.0         tonnes       1.4         tonnes   8
   6          5.4         tonnes       1.7         tonnes   6", header = TRUE)
  1. 选择数据的子集:

    subdat <- dat[dat$country == 4, c("year1", "year2", "year3")]
    
  2. 以长格式排列数据:

    subdat_l <- data.frame(Value = unlist(subdat), Year = factor(1:3))
    
  3. 阴谋:

    plot(Value ~ Year, subdat_l)
    

在此处输入图像描述


如果实际数据框包含超过三年的数据,则可以使用这种通用方法:

years <- grep("^year", names(dat), value = TRUE) # find the columns with the data
subdat <- dat[dat$country == 4, years]
subdat_l <- data.frame(Value = unlist(subdat),
                       Year = substr(years, 5, nchar(years)))
于 2012-11-13T10:05:38.410 回答