看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用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
celestialgod: sapply(a,function(x) sample(c("不好","好"),1,, 12/16 19:49
celestialgod: c(1-x,x)) 12/16 19:49
celestialgod: 少一個) 12/16 19:50
celestialgod: 最後面再補一個)就好了 12/16 19:50
Rose9305: OK了,THX 12/16 21:08
psinqoo: 推錯 SORRY 12/18 13:18