作者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/m.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