楼主: ym2009
2925 11

[问答] 怎么编写R语言程序 [推广有奖]

  • 1关注
  • 2粉丝

已卖:104份资源

副教授

33%

还不是VIP/贵宾

-

威望
0
论坛币
3200 个
通用积分
9.0710
学术水平
2 点
热心指数
3 点
信用等级
1 点
经验
95316 点
帖子
166
精华
0
在线时间
1373 小时
注册时间
2009-10-14
最后登录
2024-6-9

楼主
ym2009 发表于 2013-11-4 16:57:12 |AI写论文
100论坛币
参考文献已经给出
截图00.png
截图01.png
A simple algorithm for generating random variates with a log-concave density.pdf (599.14 KB)

关键词:R语言 参考文献 程序

本帖被以下文库推荐

沙发
kk22boy 发表于 2013-11-11 19:06:47
帮顶,求高手
如果该贴对您有些许帮助,希望你能回复一下或者评一下热心指数!谢谢!

藤椅
ryusukekenji 发表于 2013-11-14 20:58:01

板凳
ym2009 发表于 2013-11-15 01:08:40
ryusukekenji 发表于 2013-11-14 20:58
有程序包...
1) http://cran.r-project.org/web/packages/logcondens/vignettes/logcondens.pdf
2) http: ...
请问你是做这方面的吗?你怎么找到这包?

报纸
ryusukekenji 发表于 2013-11-18 20:30:32
ym2009 发表于 2013-11-15 01:08
请问你是做这方面的吗?你怎么找到这包?
http://www.rseek.org

地板
ym2009 发表于 2013-11-18 22:53:06
ryusukekenji 发表于 2013-11-18 20:30
http://www.rseek.org
你搜索的是什么?

7
ryusukekenji 发表于 2013-11-19 18:06:31
ym2009 发表于 2013-11-18 22:53
你搜索的是什么?
A simple algorithm for generating random variates with a log-concave density.pdf

8
Ericabc 发表于 2013-11-19 21:45:41
不错的资源,谢谢分享,收了

9
nuomin 发表于 2014-1-15 00:03:43
  1. n <- length(y);m <- 100
  2. a <- c(10,20,30);b <- c(10,20,30);c <- c(10,20,30);q <- c(10,20,30)
  3. out_mat <- matrix(numeric(3*(m+1)),ncol=3)
  4. out_mat[1,] <- c(2,2,2)#initial values
  5. #step1-4
  6. times <- 1

  7. ##par1 =lambda,par2=y,par3=theta,par4=beta
  8. subfunc <- function(par1,par2,par3,par4){
  9.     subs1 <- prod((1-exp(par1*par2))^par3)
  10.     subs2 <- prod((1-subs1)^par4)
  11.     return(subs1*subs2)
  12. }

  13. dfunc <- function(x1){
  14.     denomionator <- subfunc(x1,y,out_mat[1,2],out_mat[1,3])
  15.     numerator <- subfunc(out_mat[1,1],y,out_mat[1,2],out_mat[1,3])
  16.     return(numerator/denomionator)
  17. }


  18. while (times<m+1){
  19.     theta <- rdevroye(param)
  20.     x <- rglambda(n+a[2],b[2]+sum(y))
  21.     u <- runif(1,0,1)
  22.     d_compare<- dfunc(times,x,theta)
  23.     if (u<d_compare) {
  24.         times<<-times+1
  25.         out_mat[times,1] <<-x
  26.         out_mat[times,2] <<-theta
  27.         sub1 <- (1-exp(-out_mat[1,1]*y))^out_mat[1,2])
  28.         out_mat[times,3] <<-rgbeta(n-sum(d)+a[3],b[3]-sum(log(1-sub1))

  29.     }

  30. }

  31. #step5
  32. comp_mat <- out_mat[-1,]
  33. theta_head <- (-1/c[1])*log(sum(exp(-c[1]*comp_mat[,2]))/m)
  34. lambda_head <- (-1/c[2])*log(sum(exp(-c[2]*comp_mat[,1]))/m)
  35. beta_head <- (-1/c[3])*log(sum(exp(-c[3]*comp_mat[,3]))/m)
  36. #step6
  37. theta_ge <- (sum(comp_mat[,2]^(-q1))/m)^(-1/q[1])
  38. lambda_ge <- (sum(comp_mat[,1]^(-q2))/m)^(-1/q[2])
  39. beta_ge <- (sum(comp_mat[,3]^(-q3))/m)^(-1/q[3])
复制代码
先看看思路吧,改天再写log-concave 的随机数生成函数

10
凸集分离定理 发表于 2014-1-26 09:21:20
楼上 你的怎么粘贴上来的

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-25 09:54