5

次のデータを含むCSVファイルがあります。

user,Measurement1,Measurement2,Measurement3,group
1,0.1,0.7,0.2,3
2,0.3,0.3,0.4,2
3,0.3,0.3,0.4,2

ユーザーごとに1本の線をプロットする必要があります。x軸は1、2、3にすることができます(前、後、後のようにラベル付けされた各測定ごとに1ポイントですが、後でラベル付けを行うことができます)。色は、必要なものと同様のプロットを見つけたグループ列によって設定されますが、x値としてユーザーコードを使用したくありません。

4

1 に答える 1

8

ggplot'long'形式のデータが好きです。つまり、すべての次元の列とすべての観測値の行です。現在、データは「ワイド」です。パッケージを使用しreshapeて、一方から他方に移動します。

Measurement1、Measurement2、およびMeasurement3をx軸に配置する必要があることを正しく理解していますか?(つまり、データでは、ユーザー1の行は0.1から0.7、0.2になりますか?そうであれば、次のようなものが必要です。

require(reshape)

#Recreate your data frame
user <- gl(3, 1)
Meas1 <- c(0.7, 0.3, 0.3)
Meas2 <- c(0.7, 0.3, 0.3)
Meas3 <- c(0.2, 0.4, 0.4)
group <- c(3, 2, 2)
df <- data.frame(user=user, Meas1=Meas1, Meas2=Meas2, Meas3=Meas3, group=group)

#'melt' the data frame into long format
dfm <- melt(df, id.vars=c("user", "group"))

ggplot(dfm, aes(x=as.numeric(variable), y=value, colour=user)) + geom_line()

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

于 2012-10-16T02:06:35.973 に答える