I am trying to run a Monte Carlo to find results for the EstPSTR function of the PSTR package.
I am Using the MonteCarlo Package. I have checked my code many times but I keep om getting the same error:Scalars in list components cannot be named. Can someone help me find what's wrong, or an alternative path.
# Code comment
install.packages("simstudy")
install.packages("plm")
install.packages("rms")
install.packages("dplyr")
install.packages("tibble")
install.packages("MonteCarlo")
install.packages("PSTR")
library(simstudy)
library(plm)
library(rms)
library(dplyr)
library(tibble)
library(MonteCarlo)
library(PSTR)
# generate sample:
PSTR<-function(n,m1,m2,m3,m4,m5,v1,v2,v3,v4,v5){
data1<-defData(varname="Year",dist="nonrandom",formula=2000)
data1=defData(data1,varname="Dependent",dist="noZeroPoisson",formula=m1,variance=v1)
data1=defData(data1,varname="Mood",dist="binary",formula=m2,variance=v2)
data1 = defData(data1,varname = "Income", dist = "gamma",
formula =m3,variance=v3)
data1 =defData(data1, varname = "BART", dist = "normal",
formula = m4,variance=v4)
data1 =defData(data1,varname="IQ",dist="normal",formula=m5,variance=v5)
dataa1=genData(n,data1)
data2=defData(varname="Year",dist="nonrandom",formula=2002)
data2=defData(data2,varname="Dependent",dist="noZeroPoisson",formula=m1,variance=v1)
data2=defData(data2,varname="Mood",dist="binary",formula=m2,variance=v2)
data2 = defData(data2,varname = "Income", dist = "gamma",
formula =m3,variance=v3)
data2 =defData(data2, varname = "BART", dist = "normal",
formula = m4,variance=v4)
data2 =defData(data2,varname="IQ",dist="normal",formula=m5,variance=v5)
head(data2)
dataa2=genData(n,data2)
data3=defData(varname="Year",dist="nonrandom",formula=2004)
data3=defData(data3,varname="Dependent",dist="noZeroPoisson",formula=m1,variance=v1)
data3=defData(data3,varname="Mood",dist="binary",formula=m2,variance=v2)
data3 = defData(data3,varname = "Income", dist = "gamma",
formula =m3,variance=v3)
data3 =defData(data3, varname = "BART", dist = "normal",
formula = m4,variance=v4)
data3 =defData(data3,varname="IQ",dist="normal",formula=m5,variance=v5)
dataa3=genData(n,data3)
data4=defData(varname="Year",dist="nonrandom",formula=2006)
data4=defData(data4,varname="Dependent",dist="noZeroPoisson",formula=m1,variance=v1)
data4=defData(data4,varname="Mood",dist="binary",formula=m2,variance=v2)
data4 = defData(data4,varname = "Income", dist = "gamma",
formula =m3,variance=v3)
data4 =defData(data4, varname = "BART", dist = "normal",
formula =m4,variance=v4)
data4 =defData(data4,varname="IQ",dist="normal",formula=m5,variance=v5)
dataa4=genData(n,data4)
dataset=dataa1 %>%
bind_rows(dataa2) %>%bind_rows(dataa3)%>%bind_rows(dataa4)%>%
arrange(id, Year)
head(dataset)
class(dataset)
paneldata<-tbl_df(dataset)
pstr=NewPSTR(paneldata,dep='Dependent',indep=c('IQ','BART','Income'),indep_k=c('Mood'),tvars=c('Income'),iT=4)
pstr=EstPSTR(use=pstr)
return(pstr)}
grid_n<-c(100,250,500,1000)
grid_m1<-c(10,20)
grid_m2<-c(0.3,0.5,0.7)
grid_m3<-c(90,100,110)
grid_m4<-c(25,30,35)
grid_m5<-c(100)
grid_v1<-c(0.5,1)
grid_v2<-c(0.5,1)
grid_v3<-c(3,4)
grid_v4<-c(1,2)
grid_v5<-c(10,20)
param_list=list("n"=grid_n, "m1"=grid_m1,"m2"=grid_m2,"m3"=grid_m3,"m4"=grid_m4,"m5"=grid_m5,"v1"=grid_v1,"v2"=grid_v2,"v3"=grid_v3,"v4"=grid_v4,"v5"=grid_v5)
MC_result<-MonteCarlo(func=PSTR, nrep=1000,param_list=param_list)