0

読んでくれてありがとう。以下のように、既存のデータから折れ線グラフを描画できないことがわかりました。

a=structure(list(ID = structure(1:3, .Names = c("V2", "V3", "V4"
), .Label = c(" day1", " day2", " day3"), class = "factor"), 
    Protein1 = structure(c(3L, 1L, 2L), .Names = c("V2", 
    "V3", "V4"), .Label = c("-0.651129553", "-1.613977035", "-1.915631511"
    ), class = "factor"), Protein2 = structure(c(3L, 
    1L, 2L), .Names = c("V2", "V3", "V4"), .Label = c("-1.438858662", 
    "-2.16361761", "-2.427593862"), class = "factor")), .Names = c("ID", 
"Protein1", "Protein2"), row.names = c("V2", 
"V3", "V4"), class = "data.frame")

私が必要とするのは、以下のようにグラフを描くことです:

ここに画像の説明を入力

次のコードを試しましたが、結果は問題ありません。

qplot(ID, Protein1, data=a, colour=ID, geom="line")

また:

a1<-melt(a, id.vars="ID")
ggplot(a1,aes(ID,value))+ geom_line()+geom_point()

お気遣いありがとうございます。

4

1 に答える 1

1

まず、 data.frame の構造を変更する必要があります: Protein1&Protein2は数値であり、因子ではありません。

a$Protein1 = as.numeric(as.character(a$Protein1))
a$Protein2 = as.numeric(as.character(a$Protein2))

「Protein1」のみをプロットしたい場合は、melt first を使用する必要はありません。

ggplot(a, aes(x = ID, y = Protein1)) + geom_point() + geom_line(aes(group = 1)) + ylim(-3,3)

group = 1geom_line(): sourceとのポイントの接続を許可します


Protein1ここで、 &Protein2を同じプロットで見たい場合は、次を使用できますmelt

a1<-melt(a, id.vars="ID")
ggplot(a1, aes(x = ID, y = value, group = variable, color = variable)) + geom_point() + geom_line() + ylim(-3,3)

ここに画像の説明を入力

于 2016-04-18T07:13:45.920 に答える