R does understand the class of the object so that it knows it should not try to call the dataframe 'data' if the function 'data' is being called. It is probably best to avoid what would be termed "reserved" words just to prevent mistakes in the future. How about calling them "Data"?
On Tue, Jan 13, 2009 at 10:31 AM, Ista Zahn <istaz...@gmail.com> wrote: > > > On Tue, Jan 13, 2009 at 10:23 AM, jim holtman <jholt...@gmail.com> wrote: >> >> How about this: >> >> > data(ToothGrowth) >> > ls() >> [1] "ToothGrowth" >> > data <- function(x){invisible(NULL)} >> > data(ToothGrowth) >> > ls() >> [1] "data" >> > > > Yep, that sure does cause a problem alright. Is it the case that that > problems arise when you name a function with the same name as an existing > function? Or are there cases where naming data.frames, vectors, matrices, > etc. can also cause problems? > > I hope I'm not being annoying -- I'm just trying to determine if I need to > break my habit of naming data.frames "data". > > Thanks, > Ista > >> >> On Tue, Jan 13, 2009 at 9:53 AM, Ista Zahn <istaz...@gmail.com> wrote: >> > From: baptiste auguie <ba...@exeter.ac.uk> >> > To: Dimitris Rizopoulos <d.rizopou...@erasmusmc.nl> >> > Date: Tue, 13 Jan 2009 09:38:09 +0000 >> > Subject: Re: [R] indexing question >> > >> >> you can also look at subset, >> >> >> >> >> >> my.data.frame <- data.frame(a=rnorm(10), >> >>> b=factor(sample(letters[1:4], 10, replace=T))) >> >>> str(my.data.frame) >> >>> my.data.frame[my.data.frame$b == "a", ] >> >>> subset(my.data.frame, b == "a") >> >>> >> >> >> >> by the way, it is probably safer not to use "data" as a variable name >> >> as it >> >> is also a function. >> >> >> > >> > I've often wondered about this. The thing is, I've never run into a >> > problem >> > with this. For example: >> > >> >> ls() >> > character(0) >> >> data(ToothGrowth) >> >> ls() >> > [1] "ToothGrowth" >> >> rm(ToothGrowth) >> >> ls() >> > character(0) >> >> data <- data.frame(1:10, 101:110) >> >> data(ToothGrowth) #works just the same >> >> ls() >> > [1] "data" "ToothGrowth" >> >> >> > >> > In this example the data command works just the same the second time, >> > even >> > though I have a data.frame named data. Can someone give an example where >> > this causes a problem? >> > >> > Thanks, >> > Ista >> > >> > [[alternative HTML version deleted]] >> > >> > ______________________________________________ >> > R-help@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. >> > >> >> >> >> -- >> Jim Holtman >> Cincinnati, OH >> +1 513 646 9390 >> >> What is the problem that you are trying to solve? > > -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem that you are trying to solve? ______________________________________________ R-help@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.