※ 引述《tony255034 (5245566)》之銘言:
: 文章分類提示:
: - 問題: 當你想要問問題時,請使用這個類別
: [問題類型]:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
: [軟體熟悉度]:
: 新手(沒寫過程式,R 是我的第一次)
: [問題敘述]:
: 想請問要如何將除了時間最新的資料留下來呢?
: 原始資料
: DATE NAME VALUE
: 2015/11/12 8:00 tony 32
: 2015/11/12 9:00 tony 34
: 2015/11/12 8:00 sam 32
: 2015/11/12 9:00 sam 34
: 過濾後資料
: DATE NAME VALUE
: 2015/11/12 9:00 tony 34
: 2015/11/12 9:00 sam 34
最近FB才有人問我類似的問題,不過他要留最舊的XD
library(dplyr)
dat = data.frame(DATE = strftime(c("2015/11/12 08:00", "2015/11/12 09:00",
"2015/11/12 08:00", "2015/11/12 09:00", "2015/11/12 10:00"),
format = "%y/%m/%d %H:%M"), NAME = c("tony", "tony", "tony","sam", "sam"),
VALUE = c(32, 34, 36, 37, 38))
dat %>% group_by(NAME) %>% mutate(dateOrder = rank(DATE)) %>%
filter(dateOrder == max(dateOrder)) %>% select(-dateOrder)
# Source: local data frame [2 x 3]
# Groups: NAME
#
# DATE NAME VALUE
# 1 15/11/12 09:00 tony 34
# 2 15/11/12 10:00 sam 38