看板 Statistics 關於我們 聯絡資訊
※ 引述《Jerome0511 (Jerome)》之銘言: : TITLE請註名軟體類別 如[程式] stata : 發文前請把灰色的註解刪除(可使用ctrl+y刪除一整行) : [軟體程式類別]:R : [程式問題]:資料處理 : [軟體熟悉度]:新手 : [問題敘述]: : 想寫一段小程式 : 題目是有6筆資料A與B,A和B有相對應的關係 : A:5 8 4 2 9 1 : B:2 3 5 6 1 4 : 目前想要的作法是,把A依照大小先排序好如下: : A:9 8 5 4 2 1 : B:1 3 2 6 8 4 : 排序好後,B兩個兩個相除=>在這裡當作C : A:9 8 5 4 2 1 : B:1 3 2 6 8 4 : C:2 4 6 : 相除完後,製作長條圖 : X軸為個數1 2 3(因為C有三筆資料) : Y軸對應為2 4 6 : 再麻煩大家了,謝謝。 C看不懂是什麼,提供一個簡單的程式給你參考 library(zoo) df <- data.frame(A = c(5,8,4,2,9,1), B = c(2,3,5,6,1,4)) C <- rollapply(df$B[order(df$A, decreasing = TRUE)], 2, function(v) v[2] / v[1], by = 2) # [1] 3.0000000 2.5000000 0.6666667 如果是後面除前面,就上面做法 -- R資料整理套件系列文: magrittr #1LhSWhpH (R_Language) https://goo.gl/OBto1x data.table #1LhW7Tvj (R_Language) https://goo.gl/QFtp17 dplyr(上.下) #1LhpJCfB,#1Lhw8b-s (R_Language) https://goo.gl/GcfNoP tidyr #1Liqls1R (R_Language) https://goo.gl/pcq5nq pipeR #1NXESRm5 (R_Language) https://goo.gl/cDIzTh -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.235.91.146 ※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1477221603.A.A27.html
Jerome0511: C就是兩個相除(1+3)/2。(2+6)/2。(8+4)/2 10/23 19:50
改成下面這樣就好: C <- rollapply(df$B[order(df$A, decreasing = TRUE)], 2, mean , by = 2) 長條圖應該自己畫就好了(攤手
Pieteacher: 這叫兩個平均.... 10/23 20:00
Jerome0511: Sorry 表達不好 10/23 20:14
※ 編輯: celestialgod (36.235.91.146), 10/23/2016 22:55:31