Hello. I'm a newbie here. In my script (I name it readData.R), I wrote the followings: readData <-function(){ med = read.csv("medicalData.csv");} Then I tested the script by 'Source R Code' then on the command I typed 'readData()' then I typed 'med' to check if the variable contains the medical data but it returned 'Object med is not found'. What did I do wrong? Please help. Cheers,Suhaila [[alternative HTML version deleted]]
Hi Suhaila, You don't need to make a function: your script should just contain: med <- read.csv("medicalData.csv") If you do want to make a function, then you need to assign the resulting value to something, eg: med <- readData() but there's no reason to do that. Values that are assigned within a function don't persist in the global environment. Sarah On Mon, May 7, 2012 at 1:41 PM, Suhaila Haji Mohd Hussin <bell_beauty12 at hotmail.com> wrote:> > Hello. I'm a newbie here. > In my script (I name it readData.R), I wrote the followings: > readData <-function(){ ?med = read.csv("medicalData.csv");} > Then I tested the script by 'Source R Code' then on the command I typed 'readData()' then I typed 'med' to check if the variable contains the medical data but it returned 'Object med is not found'. What did I do wrong? Please help. > Cheers,Suhaila-- Sarah Goslee http://www.functionaldiversity.org
R is a functional language so, by default, assignments (and other things) within function scope doesn't have global effects. This is generally considered a _very good thing_ in language design. You'd perhaps prefer something like: readData <- function() { read.csv("medialData.csv") } med <- readData() which will have the desired outcome. On Mon, May 7, 2012 at 1:41 PM, Suhaila Haji Mohd Hussin <bell_beauty12 at hotmail.com> wrote:> > Hello. I'm a newbie here. > In my script (I name it readData.R), I wrote the followings: > readData <-function(){ ?med = read.csv("medicalData.csv");} > Then I tested the script by 'Source R Code' then on the command I typed 'readData()' then I typed 'med' to check if the variable contains the medical data but it returned 'Object med is not found'. What did I do wrong? Please help. > Cheers,Suhaila > ? ? ? ?[[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org 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.
On 07-05-2012, at 19:41, Suhaila Haji Mohd Hussin wrote:> > Hello. I'm a newbie here. > In my script (I name it readData.R), I wrote the followings: > readData <-function(){ med = read.csv("medicalData.csv");} > Then I tested the script by 'Source R Code' then on the command I typed 'readData()' then I typed 'med' to check if the variable contains the medical data but it returned 'Object med is not found'. What did I do wrong? Please help.Have a look at section 10.5 "Assignment within functions" of the "An Introduction to R " manual. Berend