I'm confused, hope someone can point out what is not obvious to me. I thought I was creating a new data frame by 'deleting' rows from an existing dataframe - I've tried 2 methods. But this new data frame seems to remember values from its parent - even though there are no occurences. Where does it get the values versicolor and virginica from and give then a count of 0? What am I missing? Thanks in advance.> summary(iris$Species)setosa versicolor virginica 50 50 50> nrow(iris)[1] 150> iris1 <- iris[iris$Species == 'setosa',]> nrow(iris1)[1] 50> summary(iris1$Species)setosa versicolor virginica 50 0 0 boxplot(Petal.Width ~ Species, data = iris1, plot=1)> iris2 <- subset(iris, Species == 'setosa')> nrow(iris2)[1] 50> summary(iris2$Species)setosa versicolor virginica 50 0 0> boxplot(Petal.Width ~ Species, data = iris2, plot=1)-- View this message in context: http://r.789695.n4.nabble.com/removed-data-is-still-there-tp2548440p2548440.html Sent from the R help mailing list archive at Nabble.com.
Removing elements from a factor does not change the levels of the factor. ------------------------------------------------------------------------ ---- ir. Thierry Onkelinx Instituut voor natuur- en bosonderzoek team Biometrie & Kwaliteitszorg Gaverstraat 4 9500 Geraardsbergen Belgium Research Institute for Nature and Forest team Biometrics & Quality Assurance Gaverstraat 4 9500 Geraardsbergen Belgium tel. + 32 54/436 185 Thierry.Onkelinx at inbo.be www.inbo.be To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of. ~ Sir Ronald Aylmer Fisher The plural of anecdote is not data. ~ Roger Brinner The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data. ~ John Tukey> -----Oorspronkelijk bericht----- > Van: r-help-bounces at r-project.org > [mailto:r-help-bounces at r-project.org] Namens pdb > Verzonden: dinsdag 21 september 2010 13:42 > Aan: r-help at r-project.org > Onderwerp: [R] removed data is still there! > > > I'm confused, hope someone can point out what is not obvious to me. > > I thought I was creating a new data frame by 'deleting' rows > from an existing dataframe - I've tried 2 methods. > > But this new data frame seems to remember values from its > parent - even though there are no occurences. > > Where does it get the values versicolor and virginica from > and give then a count of 0? > > What am I missing? > > Thanks in advance. > > > summary(iris$Species) > setosa versicolor virginica > 50 50 50 > > > nrow(iris) > [1] 150 > > > iris1 <- iris[iris$Species == 'setosa',] > > > nrow(iris1) > [1] 50 > > > summary(iris1$Species) > setosa versicolor virginica > 50 0 0 > > boxplot(Petal.Width ~ Species, data = iris1, plot=1) > > > iris2 <- subset(iris, Species == 'setosa') > > > nrow(iris2) > [1] 50 > > > summary(iris2$Species) > setosa versicolor virginica > 50 0 0 > > > boxplot(Petal.Width ~ Species, data = iris2, plot=1) > > > > > -- > View this message in context: > http://r.789695.n4.nabble.com/removed-data-is-still-there-tp25 > 48440p2548440.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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. >Druk dit bericht a.u.b. niet onnodig af. Please do not print this message unnecessarily. Dit bericht en eventuele bijlagen geven enkel de visie van de schrijver weer en binden het INBO onder geen enkel beding, zolang dit bericht niet bevestigd is door een geldig ondertekend document. The views expressed in this message and any annex are purely those of the writer and may not be regarded as stating an official position of INBO, as long as the message is not confirmed by a duly signed document.
example(factor) iris1$Species <- factor(iris1$Species, drop=T) will get you what you need. Nikhil Kaza Asst. Professor, City and Regional Planning University of North Carolina nikhil.list at gmail.com On Sep 21, 2010, at 7:41 AM, pdb wrote:> > I'm confused, hope someone can point out what is not obvious to me. > > I thought I was creating a new data frame by 'deleting' rows from an > existing dataframe - I've tried 2 methods. > > But this new data frame seems to remember values from its parent - > even > though there are no occurences. > > Where does it get the values versicolor and virginica from and give > then a > count of 0? > > What am I missing? > > Thanks in advance. > >> summary(iris$Species) > setosa versicolor virginica > 50 50 50 > >> nrow(iris) > [1] 150 > >> iris1 <- iris[iris$Species == 'setosa',] > >> nrow(iris1) > [1] 50 > >> summary(iris1$Species) > setosa versicolor virginica > 50 0 0 > > boxplot(Petal.Width ~ Species, data = iris1, plot=1) > >> iris2 <- subset(iris, Species == 'setosa') > >> nrow(iris2) > [1] 50 > >> summary(iris2$Species) > setosa versicolor virginica > 50 0 0 > >> boxplot(Petal.Width ~ Species, data = iris2, plot=1) > > > > > -- > View this message in context: http://r.789695.n4.nabble.com/removed-data-is-still-there-tp2548440p2548440.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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.
Thanks, but that was what I just discovered myself the hard way. What I really wanted to know was how to solve this issue. -- View this message in context: http://r.789695.n4.nabble.com/removed-data-is-still-there-tp2548440p2548527.html Sent from the R help mailing list archive at Nabble.com.
On Sep 21, 2010, at 8:39 AM, pdb wrote:> > Thanks, but that was what I just discovered myself the hard way. > > What I really wanted to know was how to solve this issue.Although that was _not_ what you requested in your first post. 2 options: ?table ?factor iris1$Species <-factor(iris$Species) # removes "extraneous" levels> -- > View this message in context: http://r.789695.n4.nabble.com/removed-data-is-still-there-tp2548440p2548527.html > Sent from the R help mailing list archive at Nabble.com.-- David Winsemius, MD West Hartford, CT
On Sep 21, 2010, at 9:04 AM, David Winsemius wrote:> > On Sep 21, 2010, at 8:39 AM, pdb wrote: > >> >> Thanks, but that was what I just discovered myself the hard way. >> >> What I really wanted to know was how to solve this issue. > > Although that was _not_ what you requested in your first post. > > 2 options: > > ?table > > ?factor > > iris1$Species <-factor(iris$Species) # removes "extraneous" levelsAnd that was not what I meant to type. Meant for factor to be applied to second dataframe.: iris1$Species <-factor(iris1$Species) # removes "extraneous" levels> >> --David Winsemius, MD West Hartford, CT