בכל אופן, כשאני מריצה את הקוד אר נתקע כשהוא לא מוצא קבצים מסויימים שלדעתי היו מותקנים על אר בגרסאות קודמות של החבילה האמורה אבל לא עוד.
הפנתי את אר לספריה בה החבילה הותקנה ולמרות (בקוד) ולמרות זאת השגיאה שאני מקבלת היא
אם מישהו מבין מה החבילה עושה, איך אני מוצאת את הקובץ שאר מבקש שהוא חלק מהחבילה בגרסה ישנה, או דרך אחרת לבצע את האנליזה- אהיה אסירת תודה על עזרתכם. יש לי את התוצאות של הניתוח ואני רק צריכה לוודא שהן נכונות.
rm(list=ls(all=TRUE))
setwd("C:/Users/Naomi/Documents/R/replication")
library(foreign)
rawdata <- read.dta("jp.dta",convert.factors = F)
library(MASS)
summary(glm.nb(rawdata$num_events_14 ~ rawdata$jp_num))
# WinBUGS code
library(R2WinBUGS)
nb.model <- function(){
for (i in 1:n){ # loop for all observations
# stochastic component
dv[i]~dnegbin( p[i], r)
# link and linear predictor
p[i] <- r/(r+lambda[i])
log(lambda[i] ) <- b[1] + b[2] * iv[i]
}
#
# prior distributions
r <- exp(logr)
logr ~ dnorm(0.0, 0.01)
b[1]~dnorm(0,0.001) # prior (please note: second element is 1/variance)
b[2]~dnorm(0,0.001) # prior
}
write.model(nb.model, "negativebinomial.bug")
n <- dim(rawdata)[1] # number of observations
winbug.data <- list(dv = rawdata$num_events_14,
iv = rawdata$jp_num,
n=n)
winbug.inits <- function(){list(logr = 0 ,b=c(2.46,-.37)
)} # Ausgangswerte aus der Uniformverteilung zwischen -1 und 1
bug.erg <- bugs(data=winbug.data,
inits=winbug.inits,
#inits=NULL,
parameters.to.save = c("b","r"),
model.file="negativebinomial.bug",
n.chains=3, n.iter=10000, n.burnin=5000,
n.thin=1,
codaPkg=T,
debug=F,
#bugs.directory="C:/Users/Naomi/Documents/R/WinBUGS14/" #כאן הבעיה זו הספריה המקורית בקוד שכמובן לא קיימת. כששיניתי לספריה בה הותקנה החבילה על המחשב שלי ראו לעיל, קיבלתי את הודעת השגיאה
bugs.directory="C:/Users/Naomi/Documents/R/WinBUGS14/"
)
tempdir()
setwd(tempdir())
file.rename("codaIndex.txt","simIndex.txt")
file.rename("coda1.txt","sim1.txt")
file.rename("coda2.txt","sim2.txt")
file.rename("coda3.txt","sim3.txt")
posterior <- rbind(read.coda("sim1.txt","simIndex.txt"),read.coda("sim2.txt","simIndex.txt"),read.coda("sim3.txt","simIndex.txt"))
post.df <- as.data.frame(posterior)
summary(post.df)
quantile(post.df[,2],probs=c(.025,.975))
quantile(post.df[,2],probs=c(.05,.95))
quantile(post.df[,2],probs=c(.10,.90))
tempdir()