作者Udyr (Udyr)
看板R_Language
标题[问题] 计算累积机率
时间Mon Nov 16 00:43:30 2015
[问题类型]:
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
新手(没写过程式,R 是我的第一次)
[问题叙述]:
资料的格式如下
user level
1 1
1 2
1 3
1 4
1 5
2 1
2 2
2 3
3 1
3 2
3 3
3 4
4 1
4 2
5 1
5 2
5 3
5 4
5 5
其中level的最大值为5
想对level计算累积机率(有多少比例的user达到某一个特定的level)
以上面的资料 想得到的结果为
level 5 4 3 2 1
cum.prob 0.4 0.6 0.8 1 1
请问在资料量很大的情况下
有没有推荐较有效率的方法
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.165.6.5
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1447605812.A.881.html
※ 编辑: Udyr (118.165.6.5), 11/16/2015 00:43:54
1F:推 Edster: x是你的data, X=unstack(x); rownames(X)=unique(x$user) 11/16 06:36
2F:推 Edster: 顺序错了, 调一下. 11/16 06:48
3F:→ Edster: x$point=1; X=merge(x,expand.grid(user=1:5,level=1:5)) 11/16 06:51
4F:→ Edster: X[is.na(X)]=0; colMeans(unstack(X[,c(3,2)]),na.rm=T) 11/16 06:52
5F:→ Edster: merges那边最後要插一个指令, all=TRUE 11/16 06:53
6F:→ celestialgod: e大 那样做其实等同於dcast 11/16 09:19
7F:推 Edster: 後来想想, 用table(x$level)/max(x$user) 就结束了. 11/16 09:38
8F:→ Edster: 最近debug到昏了, 所有事情都想要检查原始资料. 11/16 09:39
9F:→ celestialgod: 对耶XD table就结束了XDD 11/16 09:47