Unused argument in R
1
0
Entering edit mode
22 months ago

I am calling two function repeatedly (Nrep times) and save the results using the below code:

repeat.gendat <- function(Nreps,N, quantilelist=c(0,1,5,50,95,99,100),
distrib='norm',n.mean=5, n.stdev=3,e.lambda=0.1,
qq=0.5,M=1) {
for (j in 1:Nreps) {
if (j==1) {
if (distrib=='norm') { output.data <- gen.norm.dat(N,n.mean,n.stdev,quantilelist)}
if (distrib=='exp')  { output.data <- gen.exp.dat(N,e.lambda,quantilelist)}
if (distrib=='binom')  { output.data <-
gen.binom.dat(N,qq, M,quantilelist)}
}
if (j>1) {
if (distrib=='norm') { output.data <- rbind(output.data,
gen.norm.dat(N,n.mean,n.stdev,quantilelist)) }
if (distrib=='exp') { output.data <- rbind(output.data,
gen.exp.dat(N,e.lambda,quantilelist)) }
if (distrib=='binom') { output.data <- rbind(output.data,
gen.binom.dat(N,qq,M,quantilelist)) }
}
}
return(output.data)
}

And then to generate the normally distributed data I run the below code in Rstudio:

data1 <- repeat.gendat(100, 50,quantilelist=c(0,1,5,50,95,99,100),
distrib='norm', n.mean = 5, n.stdev = 3)


But I am getting this error: Error in rnorm(Nreps, N, n.mean, n.stdev) : unused argument (n.stdev) I don't know where I am wrong. Any help would be appreciated

R • 949 views
1
Entering edit mode

1
Entering edit mode

Is the function gen.norm.dat from a library, or did you define it elsewhere? This function is likely calling rnorm incorrectly, but I wouldn't be able to help without knowing the origin of the function.

1
Entering edit mode

The parameters for rnorm is rnorm(N, mean, sd). I guess what you are trying to do here is to generate multiple normally distributed values. For that you will need to do replicate(Nreps, rnorm(N, n.mean, n.stdev)) in the gen.norm.dat function.

1
Entering edit mode
22 months ago

The problem was solved. That is right I did not run gen.norm.data before this code. Thank you all

0
Entering edit mode

How did you resolve the problem?

0
Entering edit mode

The gen.norm.data was a function and without defining it I was trying to run it. So, that was the reason I was getting the error. I run the gen.norm.data function. Does that make sense?