Ich möchte einige Daten, die eine Quantil-Funktion entsprechen generieren. Aber die Daten benötigen einen min
und einen max
Wert.R: Runif produziert NAN
set.seed(30)
a1<-950 ; a2<-0; a3<-2.48; a4<-1.92
invcdf<-function (x)(a1+a2*a3*((-log(x))^(1/a4)))/(a3*((-log(x))^(1/a4))+1)
t<-invcdf(runif(2000,min=80,max=800))
Wenn ich min und max in der runif Funktion NaN
‚s produziert. Wie kann ich diesen Code verbessern, um NaN
zu vermeiden? Ich kann die Parameter nicht ändern.
Ihre 'invcdf' ist wahrscheinlich falsch und das Problem hat wenig mit "Runif" selbst zu tun. Sie sollten erkennen, dass 'invcdf' nicht für x außerhalb des (0,1) Bereichs definiert ist (siehe warum? Hinweis:' (-log (x))^(1/a4) '). – nicola
https://math.stackexchange.com/questions/317528/how-do-you-compute-negative-numbers-to-fractional-powers – user20650
'1/a4' ist um 0,5 und'^0,5' ist das gleiche wie die Wurzel nehmen –