0

2 つの条件を使用してデータフレームをプロットすることは可能ですか?

私はこのデータフレームを持っています:

tdat=structure(list(X = structure(c(1L, 3L, 2L, 1L, 3L, 2L, 1L, 3L, 
2L, 1L, 3L, 2L, 1L, 3L, 2L, 1L, 3L, 2L), class = "factor", .Label = c("AS", 
"Dup", "MCH")), variable = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 
2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c("bot", 
"top", "all"), class = "factor"), value = c(1.009936818, 1.414634463, 
0.778023226, 1.046037598, 2.370167409, 0.714638976, 0.241778577, 
0.684398769, 0.181664019, 0.44099306, 1.212003504, 0.237309508, 
1.257632594, 2.329136359, 1.037219886, 1.495702786, 2.990687546, 
1.069762508)), .Names = c("X", "variable", "value"), row.names = c(NA, 
-18L), class = "data.frame")

> tdat
     X variable     value
1   AS      bot 1.0099368
2  MCH      bot 1.4146345
3  Dup      bot 0.7780232
4   AS      bot 1.0460376
5  MCH      bot 2.3701674
6  Dup      bot 0.7146390
7   AS      top 0.2417786
8  MCH      top 0.6843988
9  Dup      top 0.1816640
10  AS      top 0.4409931
11 MCH      top 1.2120035
12 Dup      top 0.2373095
13  AS      all 1.2576326
14 MCH      all 2.3291364
15 Dup      all 1.0372199
16  AS      all 1.4957028
17 MCH      all 2.9906875
18 Dup      all 1.0697625

私は使用できます

 qplot(x=variable, y=value,data=tdat). 

ただし、「X」と「変数」の両方を使用してサブグループを作成する必要があります。AS-bot、MCH-bot、Dup-bot、AS-top などの 9 つのグループが必要です。qplot に y を y=value+X として使用するように指示する方法はありますか?

4

1 に答える 1

2

コメントで既に述べたように、使用できますinteraction。ここでは、2 aes に対して 2 回使用します。より良い凡例のサブタイトルを得るために、私はscale_color_discrete.

ggplot(tdat, aes(x=interaction(X,variable,drop=TRUE,sep='-'), y=value,
                 color=X)) + 
                 geom_point() +
                 scale_color_discrete(name='interaction levels')

ここに画像の説明を入力

于 2013-07-23T17:50:32.387 に答える