我是R初学者并且遇到以下非常简单的问题; 我有以下交易数据:
Data
Row#ID Lable Date Time
4 15275 John 2000-05-16 16:15:00
7 15275 John 2000-05-16 16:25:00
22 15276 Bob 2000-07-04 18:05:00
25 15276 Bob 2000-08-07 05:23:00
10 1234 Kate 2000-06-17 18:07:00
13 1234 Kate 2000-06-21 06:49:00
需要为每个ID生成一个具有最小日期和最短时间的唯一条目, 与此类似:
Row# ID Lable Date Time
15275 John 2000-05-16 16:15:00
15276 Bob 2000-07-04 18:05:00
1234 Kate 2000-06-17 18:07:00
我试过了
unique<-aggregate(Date$Date ,list(Data$ID, Data$Time,unique_Data$Lable ), min)
无济于事。
非常感谢任何帮助。 感谢
答案 0 :(得分:5)
如果“数据”和“时间”列属于“字符”类或任何其他具有min
方法的类(但特别是如果其中任何一个属于类“因子”,则可以使用此方法:< / p>
mins <-aggregate(Data[ , c("Date", "Time")] ,list(Data$ID) , min)
mins
注意到需要涵盖类==“因素”问题,这甚至可以涵盖这种可能性;
mins <-aggregate(Data[ , c("Date", "Time")] ,list(Data$ID) ,
function(x) min(as.character(x)) )