トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン 印刷

max()

auditR

データの中から、最大・最小・最新・最古などを選択する。

それぞれ、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.さんに教わった。感謝感激。


Last updated 2022-10-07 | auditR (c) N.Nawata