# How to get the input of a function right?

8 messages
Open this post in threaded view
|
Report Content as Inappropriate

## How to get the input of a function right?

 Hi, I wrote a function with three inputs fun(x,y,z). x is a matrix of three vectors combined with cbind. e.g. x1<-(1,2,3,4) x2<-(2,3,4,5) x3<-(3,4,5,6) x<-cbind(x1,x2,x3) y is a vector e.g y<-c(7,8,9) z is a real number e.g. z<-2.5 If a give the function an input like this, I get 'NA' in return. If I give the function a vector e.g c(1,2,3) instead of 'x' the function works just fine. Does anyone has an idea why the function would not except 'x' as an input? Thank you very much! Stella
Open this post in threaded view
|
Report Content as Inappropriate

## Re: How to get the input of a function right?

 This is quite difficult without being able to see the function f ..... Michael On Thu, Mar 22, 2012 at 11:43 AM, stella <[hidden email]> wrote: > Hi, > > I wrote a function with three inputs fun(x,y,z). > > x is a matrix of three vectors combined with cbind. e.g. > > x1<-(1,2,3,4) > x2<-(2,3,4,5) > x3<-(3,4,5,6) > > x<-cbind(x1,x2,x3) > > y is a vector e.g > y<-c(7,8,9) > > z is a real number e.g. > z<-2.5 > > If a give the function an input like this, I get 'NA' in return. If I give > the function a vector e.g c(1,2,3) instead of 'x' the function works just > fine. > Does anyone has an idea why the function would not except 'x' as an input? > > Thank you very much! > Stella > > -- > View this message in context: http://r.789695.n4.nabble.com/How-to-get-the-input-of-a-function-right-tp4495879p4495879.html> Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > [hidden email] 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. ______________________________________________ [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.
Open this post in threaded view
|
Report Content as Inappropriate

## Re: How to get the input of a function right?

 In reply to this post by stella On Thu, Mar 22, 2012 at 08:43:00AM -0700, stella wrote: > Hi, > > I wrote a function with three inputs fun(x,y,z). > > x is a matrix of three vectors combined with cbind. e.g. > > x1<-(1,2,3,4) > x2<-(2,3,4,5) > x3<-(3,4,5,6) > > x<-cbind(x1,x2,x3) > > y is a vector e.g > y<-c(7,8,9) > > z is a real number e.g. > z<-2.5 > > If a give the function an input like this, I get 'NA' in return. If I give > the function a vector e.g c(1,2,3) instead of 'x' the function works just > fine. > Does anyone has an idea why the function would not except 'x' as an input? Hi. Can you send also the function? Without it, it is hard to guess the source of the error. Petr Savicky. ______________________________________________ [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.
Open this post in threaded view
|
Report Content as Inappropriate

## Re: How to get the input of a function right?

 In reply to this post by Michael Weylandt On Thu, Mar 22, 2012 at 11:55 AM, R. Michael Weylandt <[hidden email]> wrote: > This is quite difficult without being able to see the function f ..... > > Michael I thought we had a fortune about telepathy, but I can't find it in the fortunes package. Sarah -- Sarah Goslee http://www.functionaldiversity.org______________________________________________ [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.
Open this post in threaded view
|
Report Content as Inappropriate

## Re: How to get the input of a function right?

Open this post in threaded view
|
Report Content as Inappropriate

## Re: How to get the input of a function right?

 In reply to this post by stella Your definition of x1, x2 and x3 requires the c() function.  Try leaving some space around operators for increased readability. Remember that the that the result of operations on sets containing NA is often set to "NA" as well.  My guess is that if you print out x it contains NA and that your function does operations on x that are included in the function result. Rob -----Original Message----- From: stella Sent: Thursday, March 22, 2012 10:43 AM To: [hidden email] Subject: [R] How to get the input of a function right? Hi, I wrote a function with three inputs fun(x,y,z). x is a matrix of three vectors combined with cbind. e.g. x1<-(1,2,3,4) x2<-(2,3,4,5) x3<-(3,4,5,6) x<-cbind(x1,x2,x3) y is a vector e.g y<-c(7,8,9) z is a real number e.g. z<-2.5 If a give the function an input like this, I get 'NA' in return. If I give the function a vector e.g c(1,2,3) instead of 'x' the function works just fine. Does anyone has an idea why the function would not except 'x' as an input? Thank you very much! Stella -- View this message in context: http://r.789695.n4.nabble.com/How-to-get-the-input-of-a-function-right-tp4495879p4495879.htmlSent from the R help mailing list archive at Nabble.com. ______________________________________________ [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. ------------------------------------------ Robert W. Baer, Ph.D. Professor of Physiology Kirksville College of Osteopathic Medicine A. T. Still University of Health Sciences 800 W. Jefferson St. Kirksville, MO 63501 660-626-2322 FAX 660-626-2965 ______________________________________________ [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.
Open this post in threaded view
|
Report Content as Inappropriate

## Re: How to get the input of a function right?

 In reply to this post by Sarah Goslee Hi Michael and Sarah,   Thank you for offering help. I finally managed to construct an example with all essentials of my problem:   x1<-c(1,2,3,4) x2<-c(2,3,4,5) x3<-c(3,4,5,6) x<-rbind(x1,x2,x3) time<-c(1,3,9) fit<-function(xx,t,tcc){slope <- coefficients(lm(log(xx) ~ 0 + t))[1] alpha<-slope-log(2)/tcc return(alpha) } alpha<-fit(x,time,20)   At the moment the function output 'alpha' is calculated for x(x1=1,x2=2,x3=3). I would like to get 'alphas' for all four rows of x without using a for-loop. Is there any possibility to avoid a for-loop?   Thank you very much in advance, Stella Von: Sarah Goslee <[hidden email]> An: R. Michael Weylandt <[hidden email]> CC: stella <[hidden email]>; [hidden email] Gesendet: 17:14 Donnerstag, 22.März 2012 Betreff: Re: [R] How to get the input of a function right? On Thu, Mar 22, 2012 at 11:55 AM, R. Michael Weylandt <[hidden email]> wrote: > This is quite difficult without being able to see the function f ..... > > Michael I thought we had a fortune about telepathy, but I can't find it in the fortunes package. Sarah -- Sarah Goslee http://www.functionaldiversity.org        [[alternative HTML version deleted]] ______________________________________________ [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.