作者celestialgod (天)
看板Statistics
标题Re: [程式] R 排序後相除
时间Sun Oct 23 19:20:00 2016
※ 引述《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://webptt.com/cn.aspx?n=bbs/Statistics/M.1477221603.A.A27.html
1F:推 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)
长条图应该自己画就好了(摊手
2F:→ Pieteacher: 这叫两个平均.... 10/23 20:00
3F:推 Jerome0511: Sorry 表达不好 10/23 20:14
※ 编辑: celestialgod (36.235.91.146), 10/23/2016 22:55:31