평균, 2 sd 오류 막대, 1.5 IQR 오류 막대, 3e 25e, 50e, 75e 및 97e 센티미터를 포함하는 광선을 계산하는 새로운 기하 구조를 작성했습니다. 바이올린 기초 관찰.합계 목록에 기반한 복합 기하학에서 aes 사용시 문제
# domestic functions
#~~~~~~~~~~~~~~~~~~~
IQR.interval.min <- function(vector)
{
quantile(vector, 0.25) - 1.5 * IQR(vector) ;
} ;
IQR.interval.max <- function(vector)
{
quantile(vector, 0.75) + 1.5 * IQR(vector) ;
} ;
SD.interval.min <- function(vector)
{
mean(vector) - 2 * sd(vector) ;
} ;
SD.interval.max <- function(vector)
{
mean(vector) + 2 * sd(vector) ;
} ;
# My geom
geom_ray <- function(... ,
violin.param = list(draw_quantiles = c(0.03, 0.25, 0.5, 0.75, 0.97),
scale = "count"),
point.param = list(),
IQR.param = list(colour = "black", width = 0.2),
mean.param = list(shape = 18, size = 4, colour = "darkgrey",
position = position_nudge(x = 0.12)),
SD.param = list(colour = "darkgrey", width = 0.2,
position = position_nudge(x = 0.12))
)
{
# graph
#~~~~~~
# Parameters
param <- list(...) ;
violin.param <- modifyList(param, violin.param) ;
point.param <- modifyList(param, point.param) ;
IQR.param <- modifyList(param, IQR.param) ;
mean.param <- modifyList(param, mean.param) ;
SD.param <- modifyList(param, SD.param) ;
# Stats
violin.gg <- do.call("stat_ydensity",
modifyList(list(geom = GeomViolin,
position = "dodge"),
violin.param)) ;
point.gg <- do.call("stat_identity",
modifyList(list(geom = GeomPoint,
position = "identity"),
point.param)) ;
IQR.gg <- do.call("stat_summary",
modifyList(list(fun.ymin = "IQR.interval.min",
fun.ymax = "IQR.interval.max",
geom = GeomErrorbar,
position = "identity"),
IQR.param)) ;
mean.gg <- do.call("stat_summary",
modifyList(list(fun.y = "mean",
geom = GeomPoint),
mean.param)) ;
SD.gg <- do.call("stat_summary",
modifyList(list(fun.ymin = "SD.interval.min",
fun.ymax = "SD.interval.max",
geom = GeomErrorbar),
SD.param)) ;
# Output
#~~~~~~~
return(list(violin.gg,
point.gg,
IQR.gg,
mean.gg,
SD.gg
)
)
} ;
기포 외부에서 에이스를 사용하면 잘 돌아갑니다.
이df1 %>%
ggplot(.) +
geom_ray(aes(x = factor1, y = vector1))
# Return:
Erreur : stat_ydensity requires the following missing aesthetics: x, y
누군가가 나를 제발 해결하는 데 도움이 수 없습니다 : 나는 기하 구조 내부에 AES를 사용하는 경우
# i.e.
vector1 <- rnorm(200, 10, 20) ;
factor1 <- factor(sample(c("homme", "femme"), 200, TRUE, c(0.4,0.6))) ;
data.frame(factor1 = factor1, vector1 = vector1) ->
df1
require(dplyr) ; require(ggplot2) ;
df1 %>%
ggplot(.) +
aes(x = factor1, y = vector1) +
geom_ray()
그러나, 그것은 실행되지 않는 이유는 무엇입니까? ...
은 당신의 매핑 객체를 가지고 있지만 인수 이름이없는 단지 개체입니다, 당신의 실패 예에서
:
감사
감사합니다. 내 초기 문제를 해결하기 위해 = argumen = NULL 및 data = NULL을 추가하십시오. ts. –