R 在表的不同列中打印某一行的值

R 在表的不同列中打印某一行的值,r,R,我有一个巨大的表格,我想画一个图表,比如说这个表格中的两行 下面您可以看到我的数据集的一个小概览 我现在想为国家4绘制1年、2年和3年的生产图,以便有人能够看到随着时间的推移所发生的变化 国家6也是如此 X轴上应为年份,Y轴上应为数值 有人能帮我吗 提前谢谢 country year1 unit year2 unit year3 1 5.1 tonnes 1.4 to

我有一个巨大的表格,我想画一个图表,比如说这个表格中的两行

下面您可以看到我的数据集的一个小概览

我现在想为国家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

以下是创建绘图的步骤

数据:

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)


如果实际数据框架包含三年以上的数据,您可以使用以下通用方法:

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)))

years这些是创建绘图的步骤

数据:

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)


如果实际数据框架包含三年以上的数据,您可以使用以下通用方法:

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)))

几年了,你尝试过什么?请让你的例子重现:。嗨,我试着对我的数据做一个概述,让它更简单一些。你试过什么?请让你的例子重复:。嗨,我试着给我的数据做一个概述,使之更容易一点。谢谢你的回答!但是,是否也有可能避免在子集中写入所有年份的名称?因为我有一个超过50年的时间表。谢谢你的回答!但是,是否也有可能避免在子集中写入所有年份的名称?因为我有一个超过50年的时间表。
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)))