Hi Marco,
Thanks for your reply!
Logic sampling in cpquery() relies on handling unevaluated
> expressions, so it is a tad fragile in any complex setting (inside
> loops and function calls, for example).
Actually I am doing it inside the loop.
Inside the loop I determine important features and form expressions
dynamically in the string format:
for( i in 1:N )
{
...
varnames = names(newrow) # new piece of data in a form of the row with
variables names
# like in the documentation: event parameter
str1 = paste("(", var[1] , "=='", as.character(newrow[1, 1]), "')", sep =
"")
# evidence parameter:
str2 = paste("(", var[-1], "=='", sapply(newrow[1,-1], as.character), "')",
sep = "", collapse = " & ")
# estimate conditional probability
cpquery(fitted.model,
event = eval(parse(text=str1)),
evidence = eval(parse(text=str2)))
...
}
For the simple query you are trying to do, just use likelihood weighting
Sorry that I formulated my question not very accurately.
I form expressions/(logic conditions for parameters evidence and event)
dynamically inside the loop and they are sometimes quite long.
--
Best regards,
Alexandr
On 10 November 2014 23:28, Marco Scutari <[email protected]> wrote:
> Hi Alexandr,
>
> On 10 November 2014 17:46, Alexandr M <[email protected]> wrote:
> > I am working with the package bnlear, but, probably, error is caused not
> by
> > the package itself.
>
> Logic sampling in cpquery() relies on handling unevaluated
> expressions, so it is a tad fragile in any complex setting (inside
> loops and function calls, for example). On its own, the
> eval(parse(...)) trick works if you do it in the global environment,
> or in relatively simple scripts.
>
> For the simple query you are trying to do, just use likelihood weighting:
>
> prob.s = cpquery(fitted1,
> event=eval(parse(text="(M=='s')")),
> evidence=list(lag1.M1='s'),
> method = "lw")
>
> passing str2 as a list.
>
> Cheers,
> Marco
>
> --
> Marco Scutari, Ph.D.
> Lecturer in Statistics, Department of Statistics
> University of Oxford, United Kingdom
>
--
Best regards,
Alexander Maslov
[[alternative HTML version deleted]]
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.