0

次のデータフレームで

id<-c(1,1,1,1,1,3,3,3,3)
date<-c(NA,NA,"22-11-07",NA,NA,NA,NA,"23-11-07",NA)

df<-data.frame(id,date)
df$date2<-as.Date(as.character(df$date), format = "%d-%m-%y")


id     date      date2
1     <NA>       <NA>
1     <NA>       <NA>
1 23-11-07 2007-11-22
1     <NA>       <NA>
1     <NA>       <NA>
3     <NA>       <NA>
3     <NA>       <NA>
3 23-11-07 2007-11-23
3     <NA>       <NA>

に基づいて集計を作成し、次のデータ フレームを取得する方法はありますdateid?

id    date2
1    2007-11-22
3    2007-11-23
4

2 に答える 2

2

aggregateそれがあなたが探しているものであれば、これがアプローチになります:

aggregate(date2 ~ id + date, df, c)
  id     date      date2
1  1 22-11-07 2007-11-22
2  3 23-11-07 2007-11-23

問題によれば、 と の両方で集計しているため、集計に列aggregate(date2 ~ id + date, df, c)[, -2]を削除するために使用できます。dateiddate

于 2012-08-27T07:57:12.627 に答える
1

あなたはこれを行うことができます :

na.omit(df)[,-2]

na.omitNA を[,-2]削除し、2 番目の列を削除します。

于 2012-08-27T07:47:10.450 に答える