1

私は巨大なテーブルを持っており、このテーブルの2つの異なる行をプロットしたいと思います。

以下に、私のデータセットの概要を示します。

誰かが時間の経過とともに変化を見ることができるように、今、国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)
    

ここに画像の説明を入力してください


実際のデータフレームが3年を超えるデータで構成されている場合は、次の一般的なアプローチを使用できます。

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 に答える