! データの中から、最大・最小・最新・最古などを選択する。 それぞれ、max()ないしmin()で対応ができるが、変数は配列を入れる必要がある。 したがって、データフレームからselect()で変数を選択してmax()に渡してもエラーになる。 df %>% select(var) %>% max() #これはエラーになる そのため配列変換を間に含める。 df %>% select(var) %>% matrix() %>% max() # :注意: min()やmax()はベクトルを値にとって比較するので、データフレームの列を比較すると全体を一つのベクトルとして見てしまう。 行ごとに列の値を比較したければ、pmax() pmin()を用いる。 ! レコードを抽出する 最大値等を拾い出すだけではなく、その値を持つレコードを拾いたいときは、filter()やsummarise()で条件式を含める。 x = c("2020-01-02", "2020-02-23", "2020-03-23", "2020-01-10") y = c("hoge", "moge", "piyo", "poyo") df = data.frame(x = x, y = y) df %>% mutate_at(vars(x), funs(as.Date)) %>% summarise(ymdmax = max(x)) や、 data.frame(x = c("2020-01-02", "2020-02-23", "2020-03-23", "2020-01-10"), stringsAsFactors = F) %>% filter(x == max(x)) :参考: r-wakalangの'''ill_identifiedさん'''や'''T.N.さん'''に教わった。感謝感激。