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/cn.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灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP