2016-07-30 3 views
0

다른 누적 그래프 as shown here을 작성하려고합니다. 단계는 2 분의 시간 간격을 기반으로해야하며, 이로 인해 간격에 여러 항목이 있거나 심지어 항목이 없을 수도 있습니다.R의 시간별 'bin'누적 합계 방법 - ggplot 사용

plot(cumsum(df_so$intraverbal), type="s") 

A cumulative graph - not by 2 minute intervals.

: 값 cumsum 사용될 수 있도록

난, 예는

df_so $intraverbal <- rowSums(df_so[-1] == "intraverbal") 
df_so$tact <- rowSums(df_so[-1] == "tact") 
df_so$mand <- rowSums(df_so[-1] == "mand") 
df_so$echoic <- rowSums(df_so[-1] == "echoic") 

그래프를 이용하여 충분히 잘되었다 플롯 칼럼을 만들 rowSums 사용

그러나 두 가지 방법이 있습니다. 이상적으로, 데이터는 "시간 저장소"에 따라 집계되고 레이블이 지정됩니다. 적어도 시간 저장소는 x- 레이블에 있어야하지만 증분은 연속적이지 않습니다. 가설 적으로, 나는 dplyr 또는 lapply를 녹여 결합시켜야한다. 그러나 어떻게 확신 할 수는 없다. 아마도, here을 설명한 것과 같습니다.

다양한 누적 값이 동일한 그래프 (예 : here, 또는 아마도 stat_bin이 here)에있을 수 있도록 ggplot을 사용하여이 작업을 수행하는 것이 좋습니다.

df_so <- structure(list(time.bin = structure(c(1L, 1L, 1L, 1L, 1L, 1L,1L, 124L, 124L, 124L), .Label = c("0:00:00", "0:02:00", "0:04:00","0:06:00", "0:08:00", "0:10:00", "0:12:00", "0:14:00", "0:16:00","0:18:00", 
     "0:20:00", "0:22:00", "0:24:00", "0:26:00", "0:28:00","0:30:00", "0:32:00", "0:34:00", "0:36:00", "0:38:00", "0:40:00","0:42:00", "0:44:00", "0:46:00", "0:48:00", "0:50:00", "0:52:00","0:54:00", "0:56:00", "0:58:00", 
     "1:00:00", "1:02:00", "1:04:00","1:06:00", "1:08:00", "1:10:00", "1:12:00", "1:14:00", "1:16:00","1:18:00", "1:20:00", "1:22:00", "1:24:00", "1:26:00", "1:28:00","1:30:00", "1:32:00", "1:34:00", "1:36:00", "1:38:00", 
     "1:40:00","1:42:00", "1:44:00", "1:46:00", "1:48:00", "1:50:00", "1:52:00","1:54:00", "1:56:00", "1:58:00", "2:00:00", "2:02:00", "2:04:00","2:06:00", "2:08:00", "2:10:00", "2:12:00", "2:14:00", "2:16:00","2:18:00", 
     "2:20:00", "2:22:00", "2:24:00", "2:26:00", "2:28:00","2:30:00", "2:32:00", "2:34:00", "2:36:00", "2:38:00", "2:40:00","2:42:00", "2:44:00", "2:46:00", "2:48:00", "2:50:00", "2:52:00","2:54:00", "2:56:00", "2:58:00", 
     "3:00:00", "3:02:00", "3:04:00","3:06:00", "3:08:00", "3:10:00", "3:12:00", "3:14:00", "3:16:00","3:18:00", "3:20:00", "3:22:00", "3:24:00", "3:26:00", "3:28:00","3:30:00", "3:32:00", "3:34:00", "3:36:00", "3:38:00", "3:40:00","3:42:00", "3:44:00", "3:48:00", "3:50:00", "3:52:00", "3:54:00","3:56:00", "3:58:00", "4:00:00", "4:02:00", "4:04:00", "4:06:00","4:08:00"), class = "factor"), 
     Primary.VB = structure(c(1L,3L, 1L, 3L, 1L, 3L, 1L, 1L, 1L, 1L), .Label = c("", "echoic","intraverbal", "mand", "tact"), class = "factor"), 
     Secondary.VB = structure(c(1L,1L, 1L, 5L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("", "echoic","intraverbal", "mand", "tact"), class = "factor"), 
     Tertiary.VB = structure(c(1L,1L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("", "intraverbal","mand", "tact"), class = "factor"), intraverbal = c(0, 1, 0,1, 0, 1, 0, 0, 0, 0), 
     tact = c(0, 0, 0, 1, 0, 0, 0, 0, 0, 0),mand = c(0, 0, 0, 1, 0, 0, 0, 0, 0, 0), 
     echoic = c(0, 0,0, 0, 0, 0, 0, 0, 0, 0)), .Names = c("time.bin", "Primary.VB","Secondary.VB","Tertiary.VB","intraverbal", 
     "tact", "mand", "echoic"), row.names = c(1L, 2L,3L, 4L, 5L, 6L, 7L, 1648L, 1649L, 1650L), class = "data.frame") 

답변

1

하지 대답, 단지 및 확장 코멘트 내가 삭제됩니다 :

여기에 데이터의 작은 작업 예제입니다. 우리가 x 축이 계수 수를 나타내는 초를 무시한다면 ... 괜찮아 보이나요?

tbl_df(df_so) %>% 
    group_by(time.bin) %>% 
    mutate(Csum=cumsum(intraverbal)) %>% 
    summarise(last=last(Csum)) %>% 
    mutate(tCsum=cumsum(last)) %>% 
    mutate(time.bin=as.numeric(time.bin)) %>% 
    ggplot(., aes(time.bin, tCsum))+ 
    geom_step() 
+0

그림을 추가했습니다. 값이 계속 올라갈 수 있도록 누적 계산입니다. – Donnied

+0

@Donnied 편집 – Dambo

+0

멋진데. 나는이 기능 중 일부 (tbl_df, group_by)에 익숙하지 않았다. 나는 그것이 시간 저장소와 관련되어 있다고 생각하는 것을하고 있다고 생각한다. ggplot이므로 x 라벨은 간단해야합니다 (?). 내면과 에코를위한 보너스 포인트는 ... – Donnied