« [R]文字列が指定の正規表現パターンとマッチするかどうか調べる | トップページ | [R]空白を追加した指定の長さの文字列を得る »

2025年12月24日 (水)

[R]2つの列による重複を調べてその重複の数を表示する

tibbleを使用してgroup_by関数で重複を調べたい列を指定し、summarize関数に渡す。ただ渡すだけの場合は、重複する行を削除するだけになってしまうので、それぞれの重複の数を数えるためにsummarize関数内でn関数を使う。簡潔な表記にするため、画面表示はデータフレームで行っている。

> library(tidyverse)
> s1 <- c("AA", "AA", "AA", "AA", "BB", "BB", "BB", "CC", "CC")
> s2 <- c("aa", "aa", "aa", "bb", "bb", "bb", "cc", "cc", "dd")
> tib <- tibble(s1, s2)
> tib |> as.data.frame()
s1 s2
1 AA aa
2 AA aa
3 AA aa
4 AA bb
5 BB bb
6 BB bb
7 BB cc
8 CC cc
9 CC dd
> tib |> group_by(s1, s2) |> summarize() |> as.data.frame()
`summarise()` has grouped output by 's1'. You can override using the `.groups` argument.
s1 s2
1 AA aa
2 AA bb
3 BB bb
4 BB cc
5 CC cc
6 CC dd
> tib |> group_by(s1, s2) |> summarize(n = n()) |> as.data.frame()
`summarise()` has grouped output by 's1'. You can override using the `.groups` argument.
s1 s2 n
1 AA aa 3
2 AA bb 1
3 BB bb 2
4 BB cc 1
5 CC cc 1
6 CC dd 1
> tib |> group_by(s1, s2) |> summarize(n = n()) |> filter(n > 1) |> as.data.frame()
`summarise()` has grouped output by 's1'. You can override using the `.groups` argument.
s1 s2 n
1 AA aa 3
2 BB bb 2

« [R]文字列が指定の正規表現パターンとマッチするかどうか調べる | トップページ | [R]空白を追加した指定の長さの文字列を得る »

R(tidyverse)」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« [R]文字列が指定の正規表現パターンとマッチするかどうか調べる | トップページ | [R]空白を追加した指定の長さの文字列を得る »

無料ブログはココログ

■■

■■■