checkboxGroupInput
이있는 반짝이는 응용 프로그램을 만들고 있는데, 각 상자를 선택하면 주파수 줄거리에 다른 줄이 추가됩니다. 나는 이것을 가능하게하는 방법을 이해하기 위해 reshape2
과 ggplot2
주위에 머리를 감싸려고 노력하고있다.shiny와 ggplot2를 사용하여 여러 줄을 대화 형으로 플롯
데이터 : 그래프는 date
에 대응하는 X 축 있어야
dput(droplevels(head(testSet, 10)))
structure(list(date = structure(c(16662, 16662, 16664,
16664, 16664, 16665, 16665, 16665, 16666, 16666), class = "Date"),
store_id = c(3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), product_id = c(1L,
3L, 1L, 2L, 3L, 3L, 1L, 2L, 1L, 2L), count = c(8L, 1L, 7L,
3L, 1L, 2L, 18L, 1L, 0L, 2L)), .Names = c("date", "store_id",
"product_id", "count"), row.names = c(NA, 10L), class = "data.frame")
및 count
에 대응하는 Y 축 :
head(testSet)
date store_id product_id count
1 2015-08-15 3 1 8
2 2015-08-15 3 3 1
3 2015-08-17 3 1 7
4 2015-08-17 3 2 3
5 2015-08-17 3 3 1
6 2015-08-18 3 3 2
클래스 레벨 정보. 제품을 나타내는 각 상자에 대해 product_id
에 해당하는 줄이 그래프에 그려지는 확인란 그룹 입력을 원합니다. 데이터는 이미 store_id
으로 필터링되었습니다.
첫 번째 생각은 플롯 내부에 for 루프를 작성하여 input$productId
벡터의 반환 값마다 새 geom_line()
을 렌더링하는 것이 었습니다. 그러나 어떤 연구를 한 후에는 사물에 대해 잘못하는 것처럼 보입니다.
현재 melt()
의 데이터를 유용하게 사용하려고 시도하고 있으며 aes(...group=product_id)
이지만 시도하는 동안 오류가 발생합니다. 데이터 용융하려고
: meltSet
의meltSet <- melt(testSet, id.vars="product_id", value.name="count", variable.name="date")
헤드
head(meltSet)
product_id date count
1 1 date 16662
2 3 date 16662
3 1 date 16664
4 2 date 16664
5 3 date 16664
6 3 date 16665
meltSet
의 꼬리tail(meltSet)
product_id date count
76 9 count 5
77 1 count 19
78 2 count 1
79 3 count 39
80 8 count 1
81 9 count 4
플로팅 :
그래서 내 축 값은 모든 남았습니다이고, 나는 플롯 설정에서 기대 아니에요 것.
'melt'가 올바른 생각입니다. 코드 또는 오류 텍스트를 표시하지 않을 때 잘못된 것을 알기 란 매우 어렵습니다. 'melt()', 녹은 데이터 프레임의'head()','ggplot' 코드의 (단순한) 버전에 대한 정확한 코드를 보여주기 위해 편집하십시오. 오류가 발생했습니다. 'dput (droplet (head (testSet, 10)))'과 같이'dput()'으로 초기 데이터를 공유하면 컬럼의 클래스 정보도 공유 할 수 있습니다. 요인 또는 날짜 또는 숫자 또는 문자를 사용하는 경우 중요합니다. – Gregor
'반짝 반짝 빛나는'관련 태그를 제거했습니다. 최종 목표는 빛나는 것처럼 보입니다. 그러나 이것은 단지 중간 단계 일뿐입니다. 이것이 반짝이는 응용 프로그램에서 끝날 것이라는 사실은 접하는 것 같습니다. – Gregor
Thanks @ Gregor, 가장 최근의 시도로 질문을 업데이트했습니다. 그것을 지킬 것인가, 나는 나의 자료를 제대로 녹이지 않을 것이라고 확신한다. – huxfurpaw