> On 28 Jul 2017, at 10:13, Vijaya Kumar Regati <vijayakumar.reg...@m3bi.com> > wrote: > > Hi, > > > That was very useful information. Thanks. > > But still I am not able to get the desired output with updated code. > > Kindly help if you have any further thoughts ... > > Updated code : > x <- 0 > y <- 0 > > Logic_fn <- function(x,y){ > > print("Passed Values") > print(x) > print(y) > x <- x + 1 > y <- y + 1 > > print("After addition :") > print(x) > print(y) > > test_data <- rbind(x,y) > test_data <- data.frame(test_data) > return(list(x,y,test_data)) > } > > for ( i in 1:1 ) { > test_data <- Logic_fn(x,y) > print("Returned Values :") > print(x) > print(y) > } >
You should print test_data. You are now printing the original values of x and y. R cannot read your mind and know that x and y are part of the return list. Why does the function return x and y? Isn't returning test_data sufficient? Berend Hasselman > > Wrong output : > [1] "Passed Values" > [1] 0 > [1] 0 > [1] "After addition :" > [1] 1 > [1] 1 > [1] "Returned Values :" > [1] 0 > [1] 0 > > > With Regards, > Vijaya Kumar Regati > Technical Lead, M3bi India Private Ltd > Work: 040-67064732 > > ________________________________ > From: Koustav Pal <koustavpal.de...@gmail.com> > Sent: Friday, July 28, 2017 12:25:54 PM > To: Vijaya Kumar Regati > Cc: vijaykr....@gmail.com; r-help@R-project.org > Subject: Re: [R] R Programming help needed - Returning dataframes + 2 > Variables dynamically > > c() is used for constructing vectors. Or in other words using the method > c(x,y) provides a vector of length 2 (hopefully). Therefore, you are pushing > a single vector to your function and not two arguments as you want. > > It should be Logic_fn(x,y) not Logic_fn(c(x,y)). > > Furthermore, i would recommend reading up on how function constructs work. > Two return statements within a function are redundant because the function > will exit after the first return statement, and anything else just creates > more ambiguity. If you want to return the x y variables as well, you should > use a list like so, list(test_data, x, y) and then retrieve information from > the list like this Boo[[1]]..... > > Finally i would also like to point out that you should note R's behaviour > unless explicitly stated while calling the function is to assign the first > argument to the first declared variable and the second to the second. So, if > you called Logic_fn(y,x), then y will be assigned to x and x to y. So to > avoid such a scenario you can mention it explicitly as Logic_fn(y=y,x=x). > > > On Jul 28, 2017 8:39 AM, "Vijaya Kumar Regati" > <vijayakumar.reg...@m3bi.com<mailto:vijayakumar.reg...@m3bi.com>> wrote: > Hi, > > > Can someone please help me on below issue I am facing : > > > I am trying to play with returning a dataframe+2 variables using a fn. > But facing an issue : > > Error in Logic_fn(c(x, y)) : argument "y" is missing, with no default > > This is the code I am using : > > > x <- 0 > y <- 0 > > Logic_fn <- function(x,y){ > x <- x + 1 > y < y + 1 > test_data <- rbind(x,y) > test_data <- data.frame(test_data) > return(test_data) > return(c(x,y)) > } > > for ( i in 1:1) { > test_data <- Logic_fn(c(x,y)) > test_data[1] > test_data[2] > test_data > > } > > With Regards, > Vijaya Kumar Regati > > > Disclaimer: IMPORTANT NOTICE: This e-mail (including any attachments) are > confidential, may contain proprietary or privileged information and is > intended for the named recipient(s) only. If you are not the intended > recipient, any disclosures, use, review, distribution, printing or copying of > the information contained in this e-mail message and/or attachments to it are > strictly prohibited. If you have received this email in error, please notify > the sender by return e-mail or telephone immediately and permanently delete > the message and any attachments. > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org<mailto:R-help@r-project.org> mailing list -- To > UNSUBSCRIBE and more, see > 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. > > Disclaimer: IMPORTANT NOTICE: This e-mail (including any attachments) are > confidential, may contain proprietary or privileged information and is > intended for the named recipient(s) only. If you are not the intended > recipient, any disclosures, use, review, distribution, printing or copying of > the information contained in this e-mail message and/or attachments to it are > strictly prohibited. If you have received this email in error, please notify > the sender by return e-mail or telephone immediately and permanently delete > the message and any attachments. > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.