[R] Sorting a Data Frame
sarah.goslee at gmail.com
Tue Jan 26 22:35:56 CET 2016
On Tue, Jan 26, 2016 at 4:24 PM, Robert Sherry <rsherry8 at comcast.net> wrote:
> Thank you for the response. As expected, the following expression worked:
This says to sort the rows, and leave the columns alone.
Subsetting a 2-dimensional object is via
> I would expect the following expression to work also:
This does something a bit unexpected, and what it does depends on
whether you have a data frame or matrix.
> mydf <- data.frame(A=1:3, B=4:6)
> mydf[2, ] # row 2
2 2 5
> mydf[, 2] # col 2
 4 5 6
> mydf # ???
A data frame is "really" a list of columns, so giving a single value
returns that column.
> mymat <- as.matrix(mydf)
> mymat[2, ] # row 2
> mymat[, 2] # col 2
 4 5 6
> mymat # ???
But for a matrix, it returns that element, starting at the top left
and working down rows first.
So it's a really good idea to not subset your rectangular objects that
way, as it may eventually bite you.
> However it does not. That is, the comma is needed. Please tell me why the
> comma is there.
> On 1/26/2016 8:19 AM, S Ellison wrote:
>>> On 23.01.2016 01:21, Robert Sherry wrote:
>>>> In R, I run the following commands:
>>>> df = data.frame( x=runif(10), y=runif(10) )
>>>> df2 = df[order(x),]
>>> You use another x from your workspace, you actually want to
>>> df2 = df[order(df[,"x"]),]
>> And just to prevent yet more confusion, you might also want to avoid 'df'
>> as a name. 'df' is the function that returns the density of the F
>> distribution ...
>> S Ellison
More information about the R-help