私はRに非常に慣れていないので、おそらくばかげた質問ですみません。
最初の行がヘッダーで、最初の列が連続した整数インデックスで、他の 17 列が関数の浮動小数点値である複数列の CSV (プレーンなコンマ区切り、引用符なし) ファイルがあります。
タスクは、17 本の線すべてを同じチャートに (同じ軸で) プロットすることです。
非常に単純に聞こえますが、実際にはそれほど明白ではありません。
おそらく最もコンパクトなベース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
それが便利であることがわかったら、matplot
StackOverflowで他の例を検索できます。たとえば、Rのcsvから複数の線を描画する方法
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
シリーズにラベルを付けるために、ここにパラメーターを追加しました。