2017-06-07 80 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)'在更改软件包所在的目录后安装软件包。 –