Hello!
Can you help me? How to order an data.table by values of an column?
Per example:
Table no initial
Categ Perc
468 31.52
351 27.52
0 0.77
234 22.55
117 15.99
table final
Categ Perc
0 0.77
117 15.99
234 22.55
351 27.52
468 31.52
Lesandro
Veja quais são os assuntos do momento no Yahoo! +Buscados
[[alternative HTML version deleted]]
Allan Engelhardt
2009-Jun-11 06:09 UTC
[R] How to order an data.table by values of an column?
See help("order") and help("[.data.frame").
df <-
data.frame(Categ=c(468,351,0,234,117),Perc=c(31.52,27.52,0.77,22.55,15.99))
df[order(df$Categ),]
# Categ Perc
# 3 0 0.77
# 5 117 15.99
# 4 234 22.55
# 2 351 27.52
# 1 468 31.52
Lesandro wrote:> Hello!
>
> Can you help me? How to order an data.table by values of an column?
>
> Per example:
>
> Table no initial
>
> Categ Perc
> 468 31.52
> 351 27.52
> 0 0.77
> 234 22.55
> 117 15.99
>
> table final
>
> Categ Perc
> 0 0.77
> 117 15.99
> 234 22.55
> 351 27.52
> 468 31.52
>
> Lesandro
>
>
>
> Veja quais s?o os assuntos do momento no Yahoo! +Buscados
>
> [[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.
>
Matthew Dowle
2009-Jul-14 23:12 UTC
[R] How to order an data.table by values of an column?
If the question really meant to say "data.table" (i.e. package
"data.table") then its easier than the data.frame answer.
dt =
data.table(Categ=c(468,351,0,234,117),Perc=c(31.52,27.52,0.77,22.55,15.99))
dt[order(Categ)]
Notice there is no dt$ required before dt$Categ. Also note the comma is
optional. See help("[.data.table")
Another example :
dt[Categ>300,cumsum(Perc+Categ)]
[1] 499.52 878.04
Thats it. The i and the j are evaluated within the data.table i.e. you can
use column names as variables in expressions, like a built-in with() and
subset().
A join between 2 data.tables X and Y is just X[Y]. This is much faster than
merge().
"Allan Engelhardt" <allane at cybaea.com> wrote in message
news:4A309F8E.4000605 at cybaea.com...> See help("order") and help("[.data.frame").
>
>
> df <-
> data.frame(Categ=c(468,351,0,234,117),Perc=c(31.52,27.52,0.77,22.55,15.99))
> df[order(df$Categ),]
> # Categ Perc
> # 3 0 0.77
> # 5 117 15.99
> # 4 234 22.55
> # 2 351 27.52
> # 1 468 31.52
>
>
> Lesandro wrote:
>> Hello!
>>
>> Can you help me? How to order an data.table by values of an column?
>>
>> Per example:
>>
>> Table no initial
>>
>> Categ Perc
>> 468 31.52
>> 351 27.52
>> 0 0.77
>> 234 22.55
>> 117 15.99
>>
>> table final
>>
>> Categ Perc
>> 0 0.77
>> 117 15.99
>> 234 22.55
>> 351 27.52
>> 468 31.52
>>
>> Lesandro
>>
>>
>>
>> Veja quais s?o os assuntos do momento no Yahoo! +Buscados
>>
>> [[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.
>>
>
> ______________________________________________
> 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.
>