On 28/04/11 06:12, David Winsemius wrote:

>

> On Apr 27, 2011, at 11:54 AM, Dale wrote:

>

>> If I have a vector of n elements, e.g. a vector of length 4 with

>> elements 10,

>> 20, 30, 40 and want to find the different values of x such that x^2=10,

>> x^2=20, x^30 and x^2=40, how could I do this in R? I'm thinking of

>> using the

>> uniroot function, but am finding difficult applying it to a vector.

>> Thanks

>

> I find myself scratching my head wondering why the answer is not:

>

> y=c(10,20,30,40)

> x=sqrt(y)

> x

My guess is that he really wants to solve foo(x) = y_i for each entry y_i of

some vector y, and that ``x^2'' was just an over-simplified version of foo()

(and c(10,20,30,40) was an over-simplified version of y).

I think that something like

lapply(y,function(a){uniroot(function(t){foo(t) - a},lower=L,upper=U)})

(untested) might be what is wanted (for appropriately chosen values of L

and U).

Things get more complicated if L and U need to be chosen differently for

each entry of y.

cheers,

Rolf Turner

______________________________________________

[hidden email] mailing list

https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide

http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.