2013-07-23 2 views
0

두 가지 조건을 사용하여 데이터 프레임을 플롯 할 수 있습니까? 나는 "X"와 "변수"를 모두 사용하여 하위 그룹을 만들 필요가 그러나 내가두 조건을 결합하여 플롯을 만드는 방법은 무엇입니까?

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

사용할 수

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 

:

나는이 dataframe 있습니다. 그래서 9-groups : AS-bot, MCH-bot, Dup-bot, AS-top 등이 필요합니다. 그래서 qplot에게 y를 y = value + X로 사용하도록 지시하는 방법이 있습니까?

+2

그것은 당신이 ... 어쩌면이 올바른 방향을 가리킬 수 있습니다 무엇에 대해 플롯 원하는 것을 정확히 말해 어렵다? 확실하지 :'ggplot (tdat, aes (x = interaction (X, variable), y = value)) + geom_line()'? – Arun

+0

@ Arun brillant! 어쩌면 당신은'sep = '-''를 추가하여 답으로 쓸 수 있습니다! – agstudy

+0

@agstudy, 예. 그러나 아마도 OP가 이것이 그가 찾고있는 것이지 설명합니다. :) 나는 대답을 쓰고 편집을하고 싶지 않습니다. 내일 읽을 기사를 얻었습니다 : P .. – Arun

답변

2

이미 주석에서 언급했듯이 interaction을 사용할 수 있습니다. 여기서 나는 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') 

enter image description here

+0

답장을 보내 주셔서 감사합니다.하지만 채색을 위해 모든 AS에 동일한 색상, Dup 및 MCH도 지정하고 싶습니다. interact() 함수를 사용하고 있기 때문에 가능한지 확실하지 않습니다. – Wicelo

+0

@Wicelo 내 대답을 편집합니다. – agstudy

관련 문제