2017-06-07 117 views
0

超級新來的R-like,從昨天開始新增。我試圖對數據集進行分組和排序,並且好像樣本類似於:用R分組和排序數據

aggdata <- aggregate(mtcars, by = list(cyl, vs), FUN = mean, na.rm = TRUE) 

僅適用於數字數據。我也嘗試過這個例子:R Dataframe: aggregating strings within column, across rows, by group爲我的目的建立新的東西,但它沒有給我我需要的輸出。

對於這個例子,我有一個數據集看起來像:

Name  DateTime 
Jan  2017-05-26T12:38:50.537 
Tim  2017-05-23T11:52:40.423 
Rob  2017-05-24T10:52:40.423 
Jan  2017-05-25T10:38:50.537 
Tim  2017-05-19T11:52:40.423 
Rob  2017-05-19T11:52:40.423 
Jan  2017-05-22T12:38:50.537 
Tim  2017-05-23T11:52:40.423 
Rob  2017-05-20T11:52:40.423 

我想按名稱的數據,然後按時間組進行排序,以便最終的結果將是:

Name   DateTime 
Jan   2017-05-22T12:38:50.537 
Jan   2017-05-25T10:38:50.537 
Jan   2017-05-26T12:38:50.537 
Rob   2017-05-19T11:52:40.423 
Rob   2017-05-20T11:52:40.423 
Rob   2017-05-24T10:52:40.423 
Tim   2017-05-19T11:52:40.423 
Tim   2017-05-23T11:50:40.423 
Tim   2017-05-23T11:52:40.423 

分組成功後,該樣品的日期時間很有前途Ordering date/time in descending order in R

在任何情況下,如果有人在知道可能的方向O點的我例如,按字符串或字母數字組合,我非常感謝它。

+2

或者,如果您的示例具有代表性,或者可能類似'dat [order(dat $ Name,dat $ DateTime)]]'。 – lmo

+0

您應該首先解析日期時間,例如'df $ DateTime = as.POSIXct(df $ DateTime,format ='%FT%T')' – alistaire

+0

這很棒lmo和@alistaire,謝謝! –

回答

1

可以使用dplyr庫:

install.packages("dplyr") 
require(dplyr) 

使用arrange(data, Name, DateTime)按名稱訂購,並通過日期時間內的名稱。

+0

忘記安排與安排_。固定。 –

+0

我在Azure ML Studio中使用它,它不喜歡install.packages,但dat [order(dat $ Name,dat $ Datetime)]工作。感謝您花時間回答,我很感激。 –

+0

在Azure ML Studio中,您可以使用'install.packages(「src/pack/pac.zip」,lib =「。」,repos = NULL,verbose = TRUE) library(pac,lib.loc =「。」, verbose = TRUE)'在更改軟件包所在的目錄後安裝軟件包。 –