ホーム>source

次の形式のデータがあるとします(実際のデータははるかに大きくなります)。

<前>ウィズウィズ

NAMEフィールドの値を2つ以上の値に割り当てるにはどうすればよいですか。ここのように CODE NAME DATE HOUR 1 Ab 1/1/19 1 1 Ab 1/1/19 2 1 Ab 1/1/19 3 2 Xy 1/1/19 1 2 Xy 1/1/19 2 2 Xy 1/1/19 3 3 Ab 1/1/19 1 3 Ab 1/1/19 2 3 Ab 1/1/19 3 4 Pq 1/1/19 1 4 Pq 1/1/19 2 4 Pq 1/1/19 3 CODE Ab に割り当てられています同様に 1 。望ましい出力は次のようになります。

<前>ウィズウィズ

私は以下を試しました、そしてそれは望ましい出力を与えています:

<前>ウィズウィズ

これを行うにはもっと良い方法があるに違いない。それをどのように達成できるか。

3
あなたの答え
  • 解決した方法 # 1

    1つの方法は NAME を選択することです  複数の一意の CODE がある場合  異なる行を保持します。

    <前>ウィズウィズ

    データ

    <前>ウィズウィズ library(dplyr) df %>% group_by(NAME) %>% filter(n_distinct(CODE) > 1) %>% distinct(CODE, NAME) # CODE NAME # <int> <fct> #1 1 Ab #2 3 Ab

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ linux - エクスポートされた環境変数を削除するにはどうすればよいですか?