2016-07-04 3 views
0

R의 플롯 패키지를 사용하여 desity plot을하고 싶습니다. 실제로 그래프에 하나의 선을 더 추가해야합니다. 일부 지역의 공공 회사의 소득 정보가있는 데이터가 있습니다. 첫 번째 순간이R에서 플롯 밀도로 추적을 추가하십시오.

head(data) 
id income region 
    1  4556  1 
    2  6545  1 
    3 65465  2 
    4 54555  1 
    5 71442  2 
    6  5645  6 

같은 뭔가, 나는이보다 더하고자, 다음과 밀도 플롯

reg56<- data[data$region %in% c(5,6) , ] 
dens <- with(reg56, tapply(income, INDEX = region, density)) 
df <- data.frame(
x = unlist(lapply(dens, "[[", "x")), 
y = unlist(lapply(dens, "[[", "y")), 
cut = rep(names(dens), each = length(dens[[1]]$x)) 
) 

# plot the density 
p<- plot_ly(df, x = x, y = y, color = cut) 

5 개, 6 지역의 소득을 분석하지만. 총 소득, 즉 모든 지역의 소득을 더하고 싶습니다. 뭔가이

data$aux<- 1 
dens2 <- with(data, tapply(income, INDEX = 1, density)) 
df2 <- data.frame(
x = unlist(lapply(dens2, "[[", "x")), 
y = unlist(lapply(dens2, "[[", "y")), 
cut = rep(names(dens2), each = length(dens2[[1]]$x))) 

p<- plot_ly(df, x = x, y = y, color = cut) 
p<- add_trace(p, df2, x = x, y = y, color = cut) 
p 
Error in FUN(X[[i]], ...) : 
'options' must be a fully named list, or have no names (NULL) 

이에 대한 몇 가지 솔루션을 시도?

답변

1

전달할 매개 변수의 이름을 add_trace으로 지정하지 않으므로 기본 매개 변수 순서에 해당하는 것으로 해석합니다. add_trace의 사용량

add_trace (p = last_plot() ... 기, 컬러, 색상, 기호, 문자, 크기 데이터 = NULL이 평가 = FALSE)

인 따라서 data.frame df2를 두 번째 매개 변수로 제공하는 함수 호출에서이 값은 ... 매개 변수에 해당하는 것으로 간주되며이 매개 변수는 명명 된 목록이어야합니다. add_trace이이 매개 변수가 무엇인지 이해할 수 있도록 data = df2을 지정해야합니다.

지금

library(plotly) 
set.seed(999) 
data <- data.frame(id=1:500, income = round(rnorm(500,50000,15000)), region=sample(6,500,replace=T)) 

에 보여 일부의 더미 데이터를 생성 할 (예와 같이하여 dfdf2을 계산 한 후)

p <- plot_ly(df, x = x, y = y, color = cut) %>% 
    add_trace(data=df2, x = x, y = y, color = cut) 
p 

enter image description here