Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
Nick Cox <n.j.cox@durham.ac.uk> |

To |
"'statalist@hsphsun2.harvard.edu'" <statalist@hsphsun2.harvard.edu> |

Subject |
st: RE: How to pass scalar argument to a function's options (-prvalue- in this case) |

Date |
Mon, 19 Dec 2011 17:22:30 +0000 |

-prvalue- is a user-written command from wherever you downloaded it from. Please remember that you are asked to explain this. Giving authors is not what is asked for: the ideal is that people can immediately download from the same place for themselves. I don't know the insides or even outsides of -prvalue-, but I'd guess what you want is this. I don't think the issue is whether you understand scalars, but rather that you are expecting -prvalue- to understand that a particular name is a scalar name. I don't think that a typical program will do that amount of work for you in deciphering option arguments. In any case, if -prvalue- wants a value, passing it a name is at best indirect. The error message clearly implies that -prvalue- wants to feed on a number, not a name. Instead of summarize weight, meanonly scalar log_mean_weight = log(r(mean)) prvalue, x(log_weight = log_mean_weight) try summarize weight, meanonly prvalue, x(log_weight = `=log(r(mean))') The framing `= ' obliges Stata to evaluate its argument and pass it to -prvalue- as a numeric result. It's possible that wrapping the argument in -scalar()- would help, but as above using a scalar as intermediary seems unnecessary here. I've given up hoping that I have no Stata blindspots left. Nick n.j.cox@durham.ac.uk Richard Herron I think this is a gross conceptual error I have in how Stata uses scalars, but I have an example using Long and Xu's -prvalue-. I would like to evaluate a -probit- model with a logged right hand side variable at the "log of the mean" instead of at the "mean of the log." I find the mean with -summarize- then store the log with -scalar-, but when I pass -log_mean_weight- as an argument to the -x()- option in -prvalue- I get the following error 'log_mean_weight' found where number expected Here is some reproducible code * begin code sysuse auto, clear generate log_weight = log(weight) generate price_dummy = (price > 10000) probit price_dummy log_weight mpg length * I would like to determine probability at the log of mean weight summarize weight, meanonly scalar log_mean_weight = log(r(mean)) prvalue, x(log_weight = log_mean_weight) * end code I have also unsuccessfully tried to use a -tempname- instead of -scalar-, but in that case -prvalue- returns '__000000' found where number expected Thanks! I think (well, hope) that this scalar problem is my last major Stata blind spot. * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/

**Follow-Ups**:**st: RE: How to pass scalar argument to a function's options (-prvalue- in this case)***From:*Nick Cox <n.j.cox@durham.ac.uk>

**References**:**st: How to pass scalar argument to a function's options (-prvalue- in this case)***From:*Richard Herron <richard.c.herron@gmail.com>

- Prev by Date:
**st: Analysis admissions after liver transplant** - Next by Date:
**st: RE: How to pass scalar argument to a function's options (-prvalue- in this case)** - Previous by thread:
**st: How to pass scalar argument to a function's options (-prvalue- in this case)** - Next by thread:
**st: RE: How to pass scalar argument to a function's options (-prvalue- in this case)** - Index(es):