R_Language 板


LINE

[問題類型]: 請把以下不需要的部份刪除 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 新手(沒寫過程式,R 是我的第一次) 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 請簡略描述你所要做的事情,或是這個程式的目的 大家好 (以下數學符號以R markdown code表示 或許方便版友有興趣查閱) 已知 1/n \sum_{i=1}^n Xi^2 ---> E[X^2] when n--> \infty Xi 是一個Bernoulli 分配 成功機率為theta 此處我設定p=theta=1/4 題目請我們運用R來對這個Bernoulli 分配做computational demonstration 來驗證這個大數法則 大約是如此 如果我的解讀的正確的 我的code如下 我把上課資料的Poisson試圖改為rbinom 而且原來的code是看1/n \sum_{i=1}^n X_i 與E[X]之間的距離 現在我要求的是 1/n \sum X_i^2 與 E[X_i^2]之間的距離 所以我修改了code 但顯然 我修改得有誤 我們已被提醒要先求出E[X^2] 我求出 E[X^2] = V[X]+E[X]^2=(p-2)(p-1)/p^2 就把上述這值與code中的mu做調換 [程式範例]: m <- 100 epsilon <- 0.01 #vn <- c(100, 500, 1600, 3200, 6400, 9600, 18000, 25600, 54000, 108000, 256000, 819200, 1000000) vn <- c(100, 500, 1600, 3200, 6400, 9600, 18000, 25600, 54000, 108000, 256000, 819200) nn <- length(vn) p.good <- numeric(nn) p <- 1/4 mu <- (p-2)*(p-1)/p^2 #mu <- lambda <- 3 ?rbinom for(j in 1:nn) { n <- vn[j] XX <- matrix(rbinom(n*m, size=1, p),ncol=n) #XX <- matrix(rnorm(n*m,mean=9,sd=2),ncol=n) Xbar <- apply(XX,1,XX^2) good <- which(abs(Xbar-mu)<epsilon) p.good[j] <- length(good)/m } windows() plot(vn, p.good, type='b', xlab='n', ylab='Prob[|Xbar-mu|<epsilon]') ########################################################################### 以下是原來的程式碼 我是初學者 只能先從改別人的程式碼開始. # Computational demonstration of the LLN (Law of Large Numbers # This first demonstration uses the normal distribution # However the LLN applies to all possible distrbutions # m <- 100 epsilon <- 0.01 #vn <- c(100, 500, 1600, 3200, 6400, 9600, 18000, 25600, 54000, 108000, 256000, 819200, 1000000) vn <- c(100, 500, 1600, 3200, 6400, 9600, 18000, 25600, 54000, 108000, 256000, 819200) nn <- length(vn) p.good <- numeric(nn) mu <- 9 mu <- lambda <- 3 for(j in 1:nn) { n <- vn[j] XX <- matrix(rpois(n*m,mu),ncol=n) #XX <- matrix(rnorm(n*m,mean=9,sd=2),ncol=n) Xbar <- apply(XX,1,mean) good <- which(abs(Xbar-mu)<epsilon) p.good[j] <- length(good)/m } windows() plot(vn, p.good, type='b', xlab='n', ylab='Prob[|Xbar-mu|<epsilon]') windows() par(mfrow=c(2,2)) [環境敘述]: 請提供 sessionInfo() 的輸出結果, 裡面含有所有你使用的作業系統、R 的版本和套件版本資訊, 讓版友更容易找出錯誤 [關鍵字]: Geometric distribution 選擇性,也許未來有用 -- --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 8.41.66.201
※ 文章網址: https://webptt.com/m.aspx?n=bbs/R_Language/M.1538930158.A.B7B.html ※ 編輯: AmigoSafin (8.41.66.201), 10/08/2018 00:44:14 ※ 編輯: AmigoSafin (8.41.66.201), 10/08/2018 05:22:49
1F:→ andrew43: 你的apply誤用了。例如apply用來取最大值時, 10/08 08:53
2F:→ andrew43: apply(m, 1, max) 就等於 apply(m,1,function(x)max(x)) 10/08 08:54
3F:→ andrew43: 所以你要適當把你apply中XX^2改成我上面function的寫法 10/08 08:55
4F:→ AmigoSafin: 謝謝a大~~我有查過?apply但不太了解 好的!我來改改 10/08 11:48
5F:→ AmigoSafin: a大真的是很厲害~ 10/08 11:52
6F:推 andrew43: 對了,檢查一下你手算的期望值。 10/08 12:31
7F:→ andrew43: google "r apply anonymous function" 看些例子即可明白 10/08 13:03
哈囉大家好~ 最後我還是沒有把這題做出來 想跟大家請益下我的code哪裡需要再改進 首先 題目是: (1/n)*sum\ X_i^2 ---> E[X^2] 當 n--> 無限大 請: 對X_i ~ Bernoulli(theta), theta 範圍(0,1) 做出empirical domonstration 提醒請我們須先清楚載明E[X^2]是多少 以免題目變得複雜 就我所知 Bernoulli的E[X^2]還是p 所以我就設定mu值是theta 並且在(0,1)之間 我的code如下 結果並沒有跑出我想要的plot 還請大家不吝指導 讓我可以知道自己錯在哪裡 # Bernoulli #par(mfrow=c(2,2)) library(Rlab) m <- 100 epsilon <- 0.01 #vn <- c(100, 500, 1600, 3200, 6400, 9600, 18000, 25600, 54000, 108000, 256000, 819200, 1000000) vn <- c(100, 500, 1600, 3200, 6400, 9600, 18000, 25600, 54000, 108000, 256000, 819200) nn <- length(vn) p.good <- numeric(nn) mu <- seq(from=0, to=1) #mu <- lambda <- 3 for(j in 1:nn) { n <- vn[j] f <-function(X){(1/n*sum(X^2))-mu} #p <-seq(0,1) XX <-matrix(rbern(n*m,mu), ncol = n) #XX <- matrix(rpois(n*m,mu),ncol=n) #XX <- matrix(rnorm(n*m,mean=9,sd=2),ncol=n) Xbar <- apply(XX,1,f) # already made a function good <- which(abs(Xbar-mu)<epsilon) p.good[j] <- length(good)/m} #windows() par(mfrow=c(2,2)) plot(vn, p.good, type='b', xlab='n', ylab='Prob[|Xbar-mu|<epsilon]') 這題接續還有normal poisson & 好多分配要改 要學好R真是不容易 ※ 編輯: AmigoSafin (129.21.70.153), 10/11/2018 00:08:56
8F:→ andrew43: 先看頭幾行。seq(0,1)就是0和1而已。 10/11 08:09
9F:→ andrew43: 另外每次rbern()你給的mu不是一個值,這樣可以嗎? 10/11 08:59
10F:→ andrew43: 我是指你試試rbern(20, c(0,1))看看這是你要的嗎? 10/11 09:01
11F:→ andrew43: 另外我建議先不要變動mu,先練習把mu=0.5寫成功就好 10/11 09:11
12F:→ AmigoSafin: 謝謝A大 我在練習看看~~感恩!! 10/12 08:38







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP