Hi! I have never used this before, so please forgive my lack of proper protocol... Would someone please tell me how to subset a dataframe? I have a table of data with x & y (spatial) coordinates, 2 attributes (tree height and biomass) and a unique identification number for each record i have also created an array of random numbers equal to the number of records in my data frame i am trying to subset, in order to get the records that correspond to my unique id numbers basically, i am trying to figure out the equivalent to the "where" command in IDL (which I understand is FORTRAN-like) any insight would be greatly appreciated!! thanks!
You are most of the way to the answer when you use the word "subset". There is a subset function to do exactly this. You probably want something like subframe <- subset(myDataFrame, id %in% myIdSample) Peter Hyde wrote:> Hi! I have never used this before, so please forgive my lack of proper > protocol... > > Would someone please tell me how to subset a dataframe? > > I have a table of data with x & y (spatial) coordinates, 2 attributes > (tree height and biomass) and a unique identification number for each > record > > i have also created an array of random numbers equal to the number of > records in my data frame > > i am trying to subset, in order to get the records that correspond to my > unique id numbers > > basically, i am trying to figure out the equivalent to the "where" command > in IDL (which I understand is FORTRAN-like) > > any insight would be greatly appreciated!! > > thanks! > > ______________________________________________ > R-help at 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
On 4 Oct 2004 at 10:06, Peter Hyde wrote:> Hi! I have never used this before, so please forgive my lack of > proper protocol... > > Would someone please tell me how to subset a dataframe? > > I have a table of data with x & y (spatial) coordinates, 2 attributes > (tree height and biomass) and a unique identification number for each > record > > i have also created an array of random numbers equal to the number of > records in my data frame > > i am trying to subset, in order to get the records that correspond to > my unique id numbersHi Chapter 2.7 of introduction manual says: Subsets of the elements of a vector may be selected by appending to the name of the vector an index vector in square brackets. More generally any expression that evaluates to a vector may have subsets of its elements similarly selected by appending an index vector in square brackets immediately after the expression. And it gives further examples Maybe this is what you want? your.df[your.id.vector==your.id.no,] shall select rows which have identical id.no and id.vector. I hope I understood your question as you actually did not explained what you tried and how it failed. Cheers Petr> > basically, i am trying to figure out the equivalent to the "where" > command in IDL (which I understand is FORTRAN-like) > > any insight would be greatly appreciated!! > > thanks! > > ______________________________________________ > R-help at 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.htmlPetr Pikal petr.pikal at precheza.cz