2016-07-12 2 views
0

나는 다음과 같이 대략 보이는 데이터 프레임이 있습니다ggplot2에서 여러 열이있는 data.frame을 플롯하는 방법은 무엇입니까?

aa <- c(1:7) 
bb <- c(11:15) 
df1 <- expand.grid(aa, bb) 
val1 <- rnorm(nrow(df1)) 
val2 <- runif(nrow(df1)) 

df <- data.frame(df1, val1, val2) 
names(df) <- c("aa", "bb", "val1", "val2") 

내가하고 싶은 : 고정 AA (예를 들어, 1), BB의 모든 값에 대한 VAL1과 val2만큼의 시계열이 들어 . 이제, 나는 이들을 플롯하고 싶습니다 (aa = 1의 경우 각 val1과 val2에 대해 5입니다). (그래서 총 7 * 5 * 2 시계열)

ggplot2로 어떻게 할 수 있습니까?

require(ggplot2) 
require(reshape2) 

df_pl <- melt(df, id.vars = c("aa", "bb"), variable.name = 'val') 

ggplot(df_pl, aes(aa, value)) + geom_point(aes(colour = val)) 
ggplot(df_pl, aes(bb, value)) + geom_point(aes(colour = val)) 

하지만이뿐만 아니라 BB의 각 값에 대한 val1과 /을 val2 시리즈의, AA와 BB의 함수로 VAL1과 val2만큼의 플롯을 생성합니다

나는 다음 시도했다. 내가 제대로 이해한다면 나는 아마 내가 확실 해요 잘못

+0

뭔가? – Jimbou

+0

@Jimbou 흠, 이것은 모든 조합에 대해 모두 'val1'과'val2'를 그려줍니다. (gaplot (df_pl, aa) (x = (interaction (bb, aa)), y = value, color = val)) + geom_point aa와 bb의 내가하고 싶은 것은 aa = 1이고, bb의 함수로서 val1과 val2의 시계열을 그린 다음, aa = 2와 같은 식으로 동일하게한다. 그래서 val2의 7 * 5 시계열과 val2의 7 * 5 시계열이 그려야합니다. – user3825755

답변

2

용융 기능을 사용하고 이것은 당신이 달성하고자하는 것입니다,하지만 어쩌면하려고이 같은

ggplot(df_pl, aes(aa, value)) + geom_point(aes(colour = val)) + facet_wrap(~bb) 
ggplot(df_pl, aes(bb, value)) + geom_point(aes(colour = val)) + facet_wrap(~aa) 
+0

감사합니다. 이것은 올바른 방향으로 가고, 내가하고 싶은 것을 설명하기가 다소 어렵습니다. 그래서 이것은 여러 개의 패널을 표시합니다. 하나의 패널에 모든 것을 가지고 싶지만 다른 bb 값 (첫 번째 경우) 또는 aa 값 (두 번째 경우)의 다른 색상 사용 – user3825755

+1

그래서'ggplot (df_pl , aes (bb, value)) + geom_point (aes (color = factor (aa)))'? – Axeman

관련 문제