2016-08-15 20 views
1

は、私は次のような構造ggplotで2つの時系列をプロットする方法は?

test <- data.frame(
    ID=c("1","2","3"), 
    name=c("A","A", "C"), 
    persons_g1_0min=c(1,2,3), 
    persons_g1_10min=c(4,5,6), 
    persons_g1_30min=c(7,8,9), 
    persons_g2_0min=c(10,11,12), 
    persons_g2_10min=c(13,14,15), 
    persons_g2_30min=c(16,17,18)) 

ID name g1_0min  g1_10min g1_30min g2_0min g2_10min g2_30min 
1  A  1   4   7   10   13   16 
2  A  2   5   8   11   14   17 
3  C  3   6   9   12   15   18 

にデータを持っていると私はプロットするwnat 0に対するg10103010g230時点。通常のプロットでは、私はそれを行うことができます

for (ID in test$ID){ 
    part <- test[test$ID==ID,] 
    plot(c(part$persons_g1_0min, part$persons_g1_10min, part$persons_g1_30min), 
     c(part$persons_g2_0min, part$persons_g2_10min, part$persons_g2_30min)) 
} 

しかし、私はggplotでこれを行うことができますか?

答えて

2
library(tidyr) 
library(dplyr) 
library(ggplot2) 
test %>% 
    gather(tmp, value, -ID, -name) %>% 
    separate(tmp, into=c("A","B","Time"), sep="_") %>% 
    spread(B, value) %>% 
    ggplot(aes(x=g1, y=g2, group=ID)) + 
    geom_point() + 
    facet_wrap(~ID) 
関連する問題