楼主: 文雅13
18837 124

[问答] R2winbugs到出数据时出现错误 [推广有奖]

111
epoh 发表于 2013-3-3 14:30:21
文雅13 发表于 2013-3-3 12:56
compile时出现“invalid range specified”错误。谢谢!
98楼,我已给你信息
你的数据nn1长度是8  [17  49  81 140 180 233 273 317]

# sqbh=1, sex=man
  mean0[j]<-(sum(margin[nn1[1]:nn2[1],j])
                         +sum(margin[nn3[1]:nn4[1],j]))
# sqbh=1, sex=woman
  mean1[j]<-(sum(margin[nn1[2]:nn2[2],j])
                         +sum(margin[nn3[2]:nn4[2],j]))
  ...
  ...
            
# sqbh=1, age=age2
  mean05[j]<-(sum(margin[nn1[9]:nn2[9],j])+sum(margin[nn3[9]:nn4[9],j]))

没有nn1[9],当然产生错误

建议你把程序中自行加入的
# sqbh=1, sex=man
以后的全删
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 5 + 5 + 5 学习这种分享精神

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

112
epoh 发表于 2013-3-5 19:57:38
文雅13 发表于 2013-3-3 12:56
compile时出现“invalid range specified”错误。谢谢!
invalid range specifiedt
是由底下的程序所造成,
这跟你的数据nn1,nn2,nn3,nn4有关,
请自行更正,你的数据,我帮不上忙.
for (k in 1:8)
    {
      for (i in nn1[k]:nn2[k])
          {pp<-del/(sum(del[nn1[k]:nn2[k]])+sum(del[nn3[k]:nn4[k]]))
          }
          for (i in nn3[k]:nn4[k])
           {pp<-del/(sum(del[nn1[k]:nn2[k]])+sum(del[nn3[k]:nn4[k]]))
           }
      }

113
epoh 发表于 2013-3-5 20:00:07
ywh19860616兄,上回的数据也改成如下格式
也就是底下的panel data
mem_panel.xls  
   mem_panel.xls (45 KB)
程序修改如短信息.
###########
library(R2WinBUGS)
library(mvtnorm)
N=50
T=4
set.seed(123)
panel=array(0,c(50,4,7))
panel[,,1]=y=rmvnorm(N, mean=rep(0.5,T), sigma=diag(4))
panel[,,2]=a=rmvnorm(N, mean=rep(0,T), sigma=diag(4))
panel[,,3]=b=rmvnorm(N, mean=rep(0.1,T), sigma=diag(4))
panel[,,4]=c=rmvnorm(N, mean=rep(0.2,T), sigma=diag(4))
panel[,,5]=d=rmvnorm(N, mean=rep(0.3,T), sigma=diag(4))
panel[,,6]=e=rmvnorm(N, mean=rep(0.4,T), sigma=diag(4))
panel[,,7]=f=rmvnorm(N, mean=rep(0.5,T), sigma=diag(4))

#data
data=list("N","T","panel")
#init
inits=function() {list( tau=0.99,gamma=c(0,0,3,1.2,0.7,0))}
  
parameters <- c("mu","tau","gamma")

msv.sim <- bugs(data, inits, parameters.to.save=parameters,"panel.bug",n.chains=1,
               n.thin=1,n.iter=60000,n.burnin=10000,codaPkg=TRUE,debug=TRUE,DIC=TRUE,
               bugs.directory="d:/WinBUGS14/",working.directory = "c:/Bugs/msv_ywh/")
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 5 + 5 + 5 非常感谢epoh老师

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

114
文雅13 发表于 2013-3-6 15:49:56
epoh 发表于 2013-3-5 19:57
invalid range specifiedt
是由底下的程序所造成,
这跟你的数据nn1,nn2,nn3,nn4有关,
nn改后还是出现“multiple definitions of node pp[1]”是什么原因?

115
epoh 发表于 2013-3-6 22:01:26
文雅13 发表于 2013-3-6 15:49
nn改后还是出现“multiple definitions of node pp[1]”是什么原因?
multiple definitions of node pp[1]是什么原因?
表示你定义完pp[1]后,又重复定义 pp[1]
nn1,nn2,nn3,nn4代表甚么意义,
需要你说清楚,或许才能帮你
这跟前面n1,是不同的

116
epoh 发表于 2013-3-6 22:02:19
ywh19860616兄:
##########in R
library(plm)
data("Grunfeld", package = "plm")
gi <- plm(inv ~ value + capital, data = Grunfeld, model = "within")
fixef(gi)
summary(fixef(gi))
    Estimate Std. Error t-value  Pr(>|t|)   
1   -70.2967    49.7080 -1.4142   0.15730   
2   101.9058    24.9383  4.0863 4.383e-05 ***
3  -235.5718    24.4316 -9.6421 < 2.2e-16 ***
4   -27.8093    14.0778 -1.9754   0.04822 *  
5  -114.6168    14.1654 -8.0913 6.661e-16 ***
6   -23.1613    12.6687 -1.8282   0.06752 .  
7   -66.5535    12.8430 -5.1821 2.194e-07 ***
8   -57.5457    13.9931 -4.1124 3.915e-05 ***
9   -87.2223    12.8919 -6.7657 1.327e-11 ***
10   -6.5678    11.8269 -0.5553   0.57867   

########## in winbugs
library(R2WinBUGS)
library(plm)
data("Grunfeld", package = "plm")
N=10
T=20
a=as.vector(cbind(Grunfeld$inv,Grunfeld$value,Grunfeld$capital))

panel=array(a,c(T,N,3))
#data
data=list("N","T","panel")
#init
inits=function() {list( gamma=c(0.1,0.2))}
  
#parameters <- c("mu","tau","gamma")
parameters <- c("sigma.tau","gamma","alpha")

msv.sim <- bugs(data, inits, parameters.to.save=parameters,"panel_Grunfeld.bug",n.chains=1,
               n.thin=1,n.iter=60000,n.burnin=10000,codaPkg=TRUE,debug=TRUE,DIC=TRUE,
               bugs.directory="d:/WinBUGS14/",working.directory = "c:/Bugs/msv_ywh/")
Node statistics
node         mean         sd         MC error        2.5%        median        97.5%        start        sample
alpha[1]        6.981        24.2        0.1062        -40.33        6.891        54.45        10001        50000
alpha[2]        119.7        14.99        0.06831        90.22        119.7        149.0        10001        50000
alpha[3]        -172.2        15.15        0.0699        -201.6        -172.3        -142.4        10001        50000
alpha[4]        -12.94        12.01        0.05266        -36.4        -12.94        10.67        10001        50000
alpha[5]        -86.94        13.4        0.06053        -113.0        -87.07        -60.72        10001        50000
alpha[6]        -12.73        11.55        0.04824        -35.33        -12.77        10.12        10001        50000
alpha[7]        -49.68        12.3        0.0576        -73.45        -49.76        -25.42        10001        50000
alpha[8]        -39.72        11.92        0.05876        -63.02        -39.7        -16.21        10001        50000
alpha[9]        -65.63        12.16        0.05548        -89.4        -65.68        -41.59        10001        50000
alpha[10]        -4.713        11.4        0.05108        -27.06        -4.7        17.7        10001        50000
deviance        2168.0        8.314        0.04506        2154.0        2167.0        2186.0        10001        50000
gamma[1]        0.09556        0.006423        2.839E-5        0.0829        0.09553        0.1081        10001        50000
gamma[2]        0.2867        0.01716        7.759E-5        0.2526        0.2868        0.3201        10001        50000
sigma.tau        54.73        2.978        0.01576        49.26        54.61        60.92        10001        50000

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 5 + 5 + 5 谢谢epoh老师

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

117
ywh19860616 发表于 2013-3-7 08:31:35
epoh 发表于 2013-3-6 22:02
ywh19860616兄:
##########in R
library(plm)
谢谢epoh老师的帮助,codes很好。
一份耕耘,一份收获。

118
文雅13 发表于 2013-3-7 09:43:15
epoh 发表于 2013-3-6 22:01
multiple definitions of node pp[1]是什么原因?
表示你定义完pp[1]后,又重复定义 pp[1]
nn1,nn2,nn3,n ...
文献中有nn1等的解释。我是按那个理解弄的。可是。。。

119
epoh 发表于 2013-3-7 10:38:17
文雅13 发表于 2013-3-7 09:43
文献中有nn1等的解释。我是按那个理解弄的。可是。。。
你说的可是这一句?
the individual indexes for the race and baseline CD4 groups (n1[],n2[],n3[],n4[])
然你已换成你的数据,
你总该解释一下数据产生的由来吧.

120
epoh 发表于 2013-3-7 16:23:46
文雅13 发表于 2013-3-7 09:43
文献中有nn1等的解释。我是按那个理解弄的。可是。。。
数据的格式是对的,
但是数值内容不对.
所以造成pp[1]重复.
这也就是你要说明
nn1,…nn4,如何得来的原因
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
ywh19860616 + 5 + 5 + 5 很热心

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 12:07