[R] write data from function into external table
Dear list, My apologies if a solution / explanation to this already exists on the list, but it is difficult to assign it to a certain keyword. test-c(1:3) testfct - function(x) {test[1]-100} test [1] 1 2 3 testfct(1) [1] 1 2 3 Basically, I would like to write data into an external table that the function does not know. Why is this not working / what alternatives exist? Thanks, Sebastian Sebastian Leuzinger University of Basel, Department of Environmental Science Institute of Botany Schönbeinstr. 6 CH-4056 Basel ph0041 (0) 61 2673511 fax 0041 (0) 61 2673504 email [EMAIL PROTECTED] web http://pages.unibas.ch/botschoen/leuzinger __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Re: [R] write data from function into external table
maybe you're looking for something like, test - 1:3 testfct - function(x){ x[1] - 100 x } test testfct(1) testfct(test) I hope it helps. Best, Dimitris Dimitris Rizopoulos Ph.D. Student Biostatistical Centre School of Public Health Catholic University of Leuven Address: Kapucijnenvoer 35, Leuven, Belgium Tel: +32/(0)16/336899 Fax: +32/(0)16/337015 Web: http://med.kuleuven.be/biostat/ http://www.student.kuleuven.be/~m0390867/dimitris.htm - Original Message - From: Sebastian Leuzinger [EMAIL PROTECTED] To: r-help@stat.math.ethz.ch Sent: Wednesday, June 14, 2006 12:41 PM Subject: [R] write data from function into external table Dear list, My apologies if a solution / explanation to this already exists on the list, but it is difficult to assign it to a certain keyword. test-c(1:3) testfct - function(x) {test[1]-100} test [1] 1 2 3 testfct(1) [1] 1 2 3 Basically, I would like to write data into an external table that the function does not know. Why is this not working / what alternatives exist? Thanks, Sebastian Sebastian Leuzinger University of Basel, Department of Environmental Science Institute of Botany Schönbeinstr. 6 CH-4056 Basel ph0041 (0) 61 2673511 fax 0041 (0) 61 2673504 email [EMAIL PROTECTED] web http://pages.unibas.ch/botschoen/leuzinger __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Re: [R] write data from function into external table
What is your desired output ? This will clarify the problem greatly. Perhaps, this might be of some use : f - function(v, pos, val=100){ v[pos] - val; return(v) } test - 1:3 test - f(test, 1) test [1] 100 2 3 Regards, ADai On Wed, 2006-06-14 at 12:41 +0200, Sebastian Leuzinger wrote: Dear list, My apologies if a solution / explanation to this already exists on the list, but it is difficult to assign it to a certain keyword. test-c(1:3) testfct - function(x) {test[1]-100} test [1] 1 2 3 testfct(1) [1] 1 2 3 Basically, I would like to write data into an external table that the function does not know. Why is this not working / what alternatives exist? Thanks, Sebastian Sebastian Leuzinger University of Basel, Department of Environmental Science Institute of Botany Schönbeinstr. 6 CH-4056 Basel ph0041 (0) 61 2673511 fax 0041 (0) 61 2673504 email [EMAIL PROTECTED] web http://pages.unibas.ch/botschoen/leuzinger __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Re: [R] write data from function into external table
Here are two alternatives. See ?- testfct1 - function() test[1] - 100 # following one can be written more compactly as # testfct2 - function(test) replace(test, 1, 100) testfct2 - function(test) { test[1] - 100; test } # test test - 1:3; testfct1(); test test - 1:3; test - testfct2(test); test On 6/14/06, Sebastian Leuzinger [EMAIL PROTECTED] wrote: Dear list, My apologies if a solution / explanation to this already exists on the list, but it is difficult to assign it to a certain keyword. test-c(1:3) testfct - function(x) {test[1]-100} test [1] 1 2 3 testfct(1) [1] 1 2 3 Basically, I would like to write data into an external table that the function does not know. Why is this not working / what alternatives exist? Thanks, Sebastian Sebastian Leuzinger University of Basel, Department of Environmental Science Institute of Botany Schönbeinstr. 6 CH-4056 Basel ph0041 (0) 61 2673511 fax 0041 (0) 61 2673504 email [EMAIL PROTECTED] web http://pages.unibas.ch/botschoen/leuzinger __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Re: [R] write data from function into external table
Thanks for the hints, they are useful to me. However, I still do not understand why my approach fails. In a user defined function, R does not seem to want to write into an object defined outside this function. (see my first example below). I guess there is some logic behind this. On Wednesday 14 June 2006 14:22, you wrote: Here are two alternatives. See ?- testfct1 - function() test[1] - 100 # following one can be written more compactly as # testfct2 - function(test) replace(test, 1, 100) testfct2 - function(test) { test[1] - 100; test } # test test - 1:3; testfct1(); test test - 1:3; test - testfct2(test); test On 6/14/06, Sebastian Leuzinger [EMAIL PROTECTED] wrote: Dear list, My apologies if a solution / explanation to this already exists on the list, but it is difficult to assign it to a certain keyword. test-c(1:3) testfct - function(x) {test[1]-100} test [1] 1 2 3 testfct(1) [1] 1 2 3 Basically, I would like to write data into an external table that the function does not know. Why is this not working / what alternatives exist? Thanks, Sebastian Sebastian Leuzinger University of Basel, Department of Environmental Science Institute of Botany Schönbeinstr. 6 CH-4056 Basel ph0041 (0) 61 2673511 fax 0041 (0) 61 2673504 email [EMAIL PROTECTED] web http://pages.unibas.ch/botschoen/leuzinger __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html -- Sebastian Leuzinger University of Basel, Department of Environmental Science Institute of Botany Schönbeinstr. 6 CH-4056 Basel ph0041 (0) 61 2673511 fax 0041 (0) 61 2673504 email [EMAIL PROTECTED] web http://pages.unibas.ch/botschoen/leuzinger __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Re: [R] write data from function into external table
On Wed, 14 Jun 2006, Sebastian Leuzinger wrote: Thanks for the hints, they are useful to me. However, I still do not understand why my approach fails. In a user defined function, R does not seem to want to write into an object defined outside this function. (see my first example below). I guess there is some logic behind this. I think the general programming concept you are looking for is scope, see sec. 10.7 in the R intro: http://cran.r-project.org/doc/manuals/R-intro.html#Scope There's more (and more technical) about it in the R Language Definition. best Niels On Wednesday 14 June 2006 14:22, you wrote: Here are two alternatives. See ?- testfct1 - function() test[1] - 100 # following one can be written more compactly as # testfct2 - function(test) replace(test, 1, 100) testfct2 - function(test) { test[1] - 100; test } # test test - 1:3; testfct1(); test test - 1:3; test - testfct2(test); test On 6/14/06, Sebastian Leuzinger [EMAIL PROTECTED] wrote: Dear list, My apologies if a solution / explanation to this already exists on the list, but it is difficult to assign it to a certain keyword. test-c(1:3) testfct - function(x) {test[1]-100} test [1] 1 2 3 testfct(1) [1] 1 2 3 Basically, I would like to write data into an external table that the function does not know. Why is this not working / what alternatives exist? Thanks, Sebastian Sebastian Leuzinger University of Basel, Department of Environmental Science Institute of Botany Schönbeinstr. 6 CH-4056 Basel ph0041 (0) 61 2673511 fax 0041 (0) 61 2673504 email [EMAIL PROTECTED] web http://pages.unibas.ch/botschoen/leuzinger __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html -- Sebastian Leuzinger University of Basel, Department of Environmental Science Institute of Botany Schönbeinstr. 6 CH-4056 Basel ph0041 (0) 61 2673511 fax 0041 (0) 61 2673504 email [EMAIL PROTECTED] web http://pages.unibas.ch/botschoen/leuzinger __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Re: [R] write data from function into external table
If functions don't modify their environment then its generally easier to debug programs so it encourarges better programming. On 6/14/06, Sebastian Leuzinger [EMAIL PROTECTED] wrote: Thanks for the hints, they are useful to me. However, I still do not understand why my approach fails. In a user defined function, R does not seem to want to write into an object defined outside this function. (see my first example below). I guess there is some logic behind this. On Wednesday 14 June 2006 14:22, you wrote: Here are two alternatives. See ?- testfct1 - function() test[1] - 100 # following one can be written more compactly as # testfct2 - function(test) replace(test, 1, 100) testfct2 - function(test) { test[1] - 100; test } # test test - 1:3; testfct1(); test test - 1:3; test - testfct2(test); test On 6/14/06, Sebastian Leuzinger [EMAIL PROTECTED] wrote: Dear list, My apologies if a solution / explanation to this already exists on the list, but it is difficult to assign it to a certain keyword. test-c(1:3) testfct - function(x) {test[1]-100} test [1] 1 2 3 testfct(1) [1] 1 2 3 Basically, I would like to write data into an external table that the function does not know. Why is this not working / what alternatives exist? Thanks, Sebastian Sebastian Leuzinger University of Basel, Department of Environmental Science Institute of Botany Schönbeinstr. 6 CH-4056 Basel ph0041 (0) 61 2673511 fax 0041 (0) 61 2673504 email [EMAIL PROTECTED] web http://pages.unibas.ch/botschoen/leuzinger __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html -- Sebastian Leuzinger University of Basel, Department of Environmental Science Institute of Botany Schönbeinstr. 6 CH-4056 Basel ph0041 (0) 61 2673511 fax 0041 (0) 61 2673504 email [EMAIL PROTECTED] web http://pages.unibas.ch/botschoen/leuzinger __ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html