가정의 확률과 "H"를 비교하는 방법에 대한 몇 가지 옵션이 있다고 생각합니다 (실제 또는 예상되는 추측이라고 생각합니다). 의견에서 제안한대로 homeprob
을 버킷으로 잘라내어 집계 통계에 dplyr
을 사용할 수 있습니다. 그런 다음 승리를 위해 색상을 사용하거나 간단하게 플롯 homeprob
대 wins를 사용하십시오.
몇 가지 방법이 있으므로 몇 가지 옵션과 재현 가능한 예를 제공 할 것입니다. 데이터가 정상이며 때문에 나는 그것이 최선의 선택이 될 것이라고 생각하지 않지만
# random normal data
randn_data <- rnorm(15000, 0.5, .05)
df <- data.frame(homeprob = randn_data)
# random uniform from 0 to 1
df$randunif <- runif(nrow(df))
# new feature is "H" if random uniform is less than homeprob
df$ftr <- ifelse(df$randunif < df$homeprob, "H", "A")
df$probcut <- cut(df$homeprob, seq(0.2, 0.8, 0.05))
이제, 총 승리에 대한 색상을 사용할 수 있습니다 여기에
는 당신과 유사 일부 만들어 데이터입니다
library(dplyr)
df_plot1 <- df %>%
group_by(probcut) %>%
summarise(hprob_counts = n(), wins = sum(ftr == "H"))
# wins as color
library(ggplot2)
ggplot(df_plot1, aes(x = probcut, y = hprob_counts, fill = wins)) +
geom_col() +
scale_y_sqrt()
내가이 예상과 관찰을 비교하기 위해 속도를 승리 사용하는 것이 더있을 거라고 생각 : 주파수는 평균 향한 높을 것이다 :
df_plot2 <- df %>%
group_by(probcut) %>%
summarise(hprob_counts = n(), wins = sum(ftr == "H")) %>%
mutate(win_rate = wins/hprob_counts)
ggplot(df_plot2, aes(x = probcut, y = hprob_counts, fill = win_rate)) +
geom_col() +
scale_y_sqrt()
또한 단지 분포없이 homeprob
및 win_rate
을 그릴 수 :
ggplot(df_plot2, aes(x = probcut, y = win_rate)) +
geom_col()
을 희망이 더 많거나 적은 당신이 찾고 있던 무슨.
'homeprob' 변수를 이산 간격으로 저장하기 위해'cut'을 사용하는 것을 고려 했습니까? 그런 다음 dplyr 명령을 사용하여 집으로 돌아가는 횟수를 집계하고, 실제 승리를위한 색상과 같은 세 번째 인코딩 (막대 차트 여야 함)을 사용할 수 있습니다. 귀하의 의견에 – cbhyphen
주셔서 감사합니다! 나는 커트를 사용하고 지금 20 개의 그룹이있다. 또한 그룹 값 (예 : (0.414 - 0.449))을 사용하여 데이터 프레임에 열을 추가했지만 각 그룹에 대해 homewins 수를 계산하는 루프를 작성하는 방법을 잘 모르겠습니다. for 루프를 사용했지만 성공하지는 않았습니까? –