4

私はRに比較的慣れていません。csvファイルからロードされたデータフレームをプロットしようとしています。データは次のように 6 つの列で構成されます。

xval,col1,col2,col3,col4,col5

最初の列 (xval) は単調に増加する正の整数 (10、40、60 など) のシーケンスで構成され、他の列 1 から 5 は浮動小数点数で構成されます。

次のようにRでプロットを作成したい:

  • x 軸に xval 項をプロットする
  • 残りの列 (col1 ... col5) 行をプロットする
  • col2、... col5 の名前を変更して凡例の凡例を作成する

プロットされるデータ (col1、... col5) は「スナップショット」値であるため、それらを線としてプロットしたいのですが、線を滑らかにする (つまり補間する) 必要があります。

データをデータフレームに読み取ったら、プロットを作成するのに役立つスニペットを探しています。どんな助けでも大歓迎です。

4

1 に答える 1

11

Have a look at ggplot2

#create dummy data
n <- 200
dataset <- data.frame(xval = runif(n), col1 = rnorm(n), col2 = rnorm(n, sd = 2), col3 = rnorm(n, mean = seq(0, 2, length = n)), col4 = rnorm(n, sd = seq(0, 1, length = n)), col5 = rnorm(n, mean = 1))
#convert data to long format
library(reshape)
Molten <- melt(dataset, id.vars = "xval")
#plot it
library(ggplot2)
ggplot(Molten, aes(x = xval, y = value, colour = variable)) + 
    geom_smooth() + geom_point()
#some tweaking
ggplot(Molten, aes(x = xval, y = value, colour = variable)) + 
    geom_smooth(se = FALSE) + geom_point() + theme_bw() + 
    scale_x_continuous("the x label") + scale_x_continuous("the y label") +
    scale_colour_discrete("")

enter image description here

于 2012-06-13T13:20:38.283 に答える