作者yuaso (yuaso)
看板Statistics
标题[程式] R:依给定机率产生数字
时间Wed Feb 12 17:06:27 2020
[程式] R
[软体程式类别]:
R
[程式问题]:
原始数据如下:
P1 P2 P3
1 0.3 0.2 0.5
2 0.2 0.6 0.1
3 0.1 0.5 0.4
4 0.7 0.2 0.1
希望新增一栏位level,其值(1/2/3)依数据中的P1~P3的最大值而定
level
1 3
2 2
3 2
4 1
[软体熟悉度]:
新手
[问题叙述]:
目前google找到的函数rcat()似乎可达到我的目的,
但当只有固定一组机率时用rcat没问题
例如
> rcat(1, c(0.2, 0.1, 0.7))
> 3
但是有一整组机率的时候, rcat产生的结果都不太对,可能是数据编排的问题
麻烦知道的板友解惑一下,谢谢
ps.平常较常用SAS, SAS的话rand('TABLE', P1, P2, P3)即可
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 125.231.39.248 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Statistics/M.1581498390.A.91C.html
1F:推 bruce89: apply(dataframe, 1, which.max) 02/12 22:21
2F:→ yuaso: 谢谢楼上 02/13 10:00