[問題] ggplot 畫機率分配走勢圖(NT$300+200)

看板R_Language作者 (Be pythonic!)時間8年前 (2016/04/26 18:36), 8年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) 註:賞金限首殺者,自動分組的部分跟主要問題分開,詳見內文 [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 問題應該算常見,看標題就明白,但做起來卻難如登天 怎麼做怎麼錯 我的資料長這樣(公司資料無法攜出 勞煩解答者自行按下面說明稍微模擬一下) tableA GP N N_valid --------------------- 1 300 120 2 225 55 3 145 42 4 101 45 .... 52 5 3 53 1 1 55 2 0 58 2 2 63 1 0 79 2 1 97 1 0 tableA 是一個 pre-summarized 的次數分布圖: GP 是整數,由小排到大,但並不 consecutive N 代表某 GP 值的事件數 N_valid 代表成功事件數,0 <= N_valid <= N 並且這張表有一個特性 就是 N 愈到後面愈稀疏 如果 N = N_valid = 0 則不會出現該 GP 的 row, 例如 GP=80 我想做的事情也很簡單: 畫出成功機率 (N_valid / N) vs GP 的走勢圖 實際上應該會是 sum(N_valid)/sum(N) "group by 每個bins" 的概念 並且因為GP愈大,N值愈稀疏,所以組距也必須設定為愈後面愈寬 要不然每組的樣本數不夠,機率的上下跳動幅度會太大 目前還想不到什麼好方法來做自動化的計算 所以就先手動設定 breaks = c(5,10,15,20,30,50) (如果可以自動化,也希望一併提供solution,賞金額外再給$200) 我嘗試弄了一段程式碼如下 hist <- ggplot(tableA, aes(x=GP)) + geom_bar(aes(y=sum(N_valid)/sum(N)), breaks=breaks, stat='identity') + scale_y_continuous(labels=percent) hist 反正就先設好資料,再設好圖層跟軸,最後座標軸等修飾屬性套上去 ggplot 的 code 基本也就長這樣 結果雖然有圖,但是不work,跑出一堆黑白相間的條紋,scale 也完全不對。 (資料在公司 無法連網請見諒) 這問題太 subtle 了 stackoverflow 無果 性質最接近的帖子如下 http://stackoverflow.com/questions/15664202/how-to-interpret-the-different-ggplot2-densities http://stackoverflow.com/questions/15733531/specifying-number-of-breaks-with-scales-in-ggplot2-without-a-transform/15734133#15734133 http://stackoverflow.com/questions/15651084/error-with-ggplot2-mapping-variable-to-y-and-using-stat-bin 但都不是我所需要的(當然也可能是我程度太差看不懂) google 關鍵字也不知道要怎麼下 因為工作關係沒有辦法在這個問題上浪費太多時間 故在此直接出 $300 徵答(如有辦法不用手動設定breaks再加$200) 請意者作答後,把匯款方式寄站內信給我(我付款後要再麻煩您推文告知已收到) 感謝大大熱心! [程式範例]: 請見問題敘述後半段(公司資料保密無法連網請見諒) [環境敘述]: 摘要如下 R 3.2.1 win7 x64 SP1 platform: x86_64-w64-mingw32/x64 (64-bit) 有library(ggplot2) library(scales) [關鍵字]: ggplot geom_histogram geom_bar summary function density -- 順便再問一下 為什麼我想上網 RTFM 卻沒有一個地方給我 RTFM (例如python就有python docs) 只能在一堆非結構化的散亂網頁當中連來連去 https://cran.r-project.org/index.html https://cran.r-project.org/manuals.html http://stat.ethz.ch/R-manual/ https://www.r-project.org/other-docs.html 是不是大家學R真的全靠help()跟example()就可以了呢? 在網路上沒有一個像python docs的集中地 個人覺得是UX上的一個致命缺陷 當然個人學習 靠help()跟example()是OK的沒錯 問題是你要demo,要推廣,要做教學 你所在的環境不一定容許你預先裝好Rstudio 例如,公司電腦,或者手機(出門在外需要討論問題查資料) 而且初學者通常不喜歡打指令, 更不喜歡每打一次指令就要跑去把Rstudio的說明視窗拉大 我也很好奇大家是怎麼面對這個困擾的 @@ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.220.74.114 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1461666979.A.09E.html ※ 編輯: realtemper (61.230.215.24), 04/26/2016 19:47:42
文章代碼(AID): #1N7qIZ2U (R_Language)
文章代碼(AID): #1N7qIZ2U (R_Language)