15

私はRに非常に慣れていないので、おそらくばかげた質問ですみません。

最初の行がヘッダーで、最初の列が連続した整数インデックスで、他の 17 列が関数の浮動小数点値である複数列の CSV (プレーンなコンマ区切り、引用符なし) ファイルがあります。

タスクは、17 本の線すべてを同じチャートに (同じ軸で) プロットすることです。

非常に単純に聞こえますが、実際にはそれほど明白ではありません。

4

2 に答える 2

26

おそらく最もコンパクトなベースRのみのソリューションは

mydata <- read.csv("mydatafile.csv")
matplot(mydata[, 1], mydata[, -1], type="l")
  • header=TRUEはデフォルトのオプションread.csv()であるため、ヘッダー行の存在を明示的に指定する必要はありません。
  • mydata[, 1]最初の列を選択します。最初の列を除くすべてmydata[, -1]を選択します
  • type="l"線を選択します(デフォルトはポイントです)。線種、色などの変更の詳細については?matplot、を参照してください...?plot

それが便利であることがわかったら、matplotStackOverflowで他の例を検索できます。たとえば、Rのcsvから複数の線を描画する方法

于 2012-12-21T14:56:12.457 に答える
6

read.csvデータを data.frame として入力するために使用できます。次に、プロットの選択肢がたくさんあります。lattice私はほとんどの調査作業を好みます。

格子状に2つ。ここでは、グラフ化するランダム データを作成しています。

library(lattice)
d <- data.frame(index=1:20, x=rnorm(20), y=rnorm(20))

> head(d, n=3)
  index         x          y
1     1 -1.065591  0.2422635
2     2 -1.563782 -1.4250984
3     3  1.156537  0.3659411

xyplot(x+y~index, data=d, type='l', auto.key=list(space='right'))

列の名前から式を生成できます。通常、プロンプトからこれを行うことはありませんが、コードでそのような構成を使用します。

f <- paste(paste(names(d[,-1,drop=FALSE]), collapse="+"),
           names(d[,1,drop=FALSE]),
           sep=" ~ ")

xyplot(as.formula(f), data=d, type='l', auto.key=list(space='right'))

ベンの答えのように、type='l'行を指定します。デフォルトはtype='p'ポイント用です。auto.keyシリーズにラベルを付けるために、ここにパラメーターを追加しました。

ここに画像の説明を入力

于 2012-12-21T14:43:58.140 に答える