[問題] 關於sample指令

看板R_Language作者 (台產零零柒)時間8年前 (2015/12/16 19:37), 8年前編輯推噓2(205)
留言7則, 3人參與, 最新討論串1/1
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 新手(沒寫過程式,R 是我的第一次) [問題敘述]: 我有組數字資料,想把它當成機率, 運用sample指令來抽樣判別各個數值所當的機率時,會抽出(判別)出甚麼。 [程式範例]: 像正常,若只有單筆資料假設數值0.7 sample(c("不好","好"),1,c(1-0.7,0.7),replace=F) 跑R後,就我了解這指令的意思應該是: 出來結果會有0.7機率跑出"好",0.3機率跑出"不好" 這都可以正常跑出。 但是我想跑一組數值當機率,分別判斷,卻跑不出來。 a<-c(0.01,0.05,0.7,0.3,0.22) sample(c("不好","好"),1,c(1-a,a),replace=F) 結果顯示: Error in sample.int(length(x), size, replace, prob) : incorrect number of probabilities (看他紅字好像是說機率數值不正確?) (我一個一個代數值是可以正常跑出,只是我有很長一組數字阿!!!) 我想做出類似於這樣,第一個用0.01代入a內,判斷(抽出)好還是不好, 下一筆用0.05代入a一樣看抽出(判斷).......下去。 最後應該大概要顯示(以上例):不好,不好,好,不好,不好 這樣的結果。 請問要如何做呢?哪邊有問題? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 182.234.245.251 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1450265843.A.950.html ※ 編輯: Rose9305 (182.234.245.251), 12/16/2015 19:38:11

12/16 19:49, , 1F
sapply(a,function(x) sample(c("不好","好"),1,,
12/16 19:49, 1F

12/16 19:49, , 2F
c(1-x,x))
12/16 19:49, 2F

12/16 19:50, , 3F
少一個)
12/16 19:50, 3F

12/16 19:50, , 4F
最後面再補一個)就好了
12/16 19:50, 4F

12/16 21:08, , 5F
OK了,THX
12/16 21:08, 5F

12/18 13:18, , 7F
推錯 SORRY
12/18 13:18, 7F
文章代碼(AID): #1MSKppbG (R_Language)