RでIDを別のデータフレームの名前と照合する方法

オリバー

RePEcデータベースのIDを持つ2つのデータフレームがあります。

1つのデータフレームに、約3,000のIDと数値のリストがあります。次のようになります。

df1$repec_id <- c("RePEc:eee:ecolet:v:173:y:2018:i:c:p:65-68", "RePEc:eee:moneco:v:103:y:2019:i:c:p:105-122", "RePEc:ess:wpaper:id:6872")
df1$numbers <- c("1.4", "3.5", "4.9)

次に、df1のIDと作成者名を含むさらに多くのID(約150,000)を持つ別のデータフレームがあります。次のようになります。

df2$repec_id <- c("RePEc:eee:ecolet:v:173:y:2018:i:c:p:65-68", "RePEc:eee:moneco:v:103:y:2019:i:c:p:105-122", "RePEc:ess:wpaper:id:6872", "RePEc:sgc:wpaper:id:2926")
df2$authors <- c("Smith, John; Hope, Gill", "Robinson, Jill", "Chu, James", "Ravendran, Vikram")
df2$year <- c("2019", "2020", "2018", "2017)

各IDに関連付けられている作成者の姓と発行年をdf1にプルし、new_IDsそこに新しい列作成して、最終的な出力が次のようになるようにします。

df1$repec_id <- c("RePEc:eee:ecolet:v:173:y:2018:i:c:p:65-68", "RePEc:eee:moneco:v:103:y:2019:i:c:p:105-122", "RePEc:ess:wpaper:id:6872")
df1$numbers <- c("1.4", "3.5", "4.9)
df1$new_id <- c("Smith and Hope 2019", "Robinson 2020", "Chu 2018")

誰かが私がこれを行う方法を知っていますか?よろしくお願いします!

akrun

aを実行してleft_joinから、前の単語を抽出し、,「year」を貼り付けることができます。

library(dplyr)
library(purrr)
library(stringr)
df1 %>%
  left_join(df2) %>% 
  mutate(new_id = str_c(map(str_extract_all(authors, "\\w+(?=,)"), 
          str_c, collapse = ' and '), year, sep=" ")) %>%
  select(-authors, -year)
#                                     repec_id numbers              new_id
#1   RePEc:eee:ecolet:v:173:y:2018:i:c:p:65-68     1.4 Smith and Hope 2019
#2 RePEc:eee:moneco:v:103:y:2019:i:c:p:105-122     3.5       Robinson 2020
#3                    RePEc:ess:wpaper:id:6872     4.9            Chu 2018

または、抽出する代わりに、 str_remove

df1 %>% 
    left_join(df2) %>%
    transmute(repec_id, numbers, 
       new_id = str_c(str_remove_all(authors, ',\\s*\\w+(?:;|$)'), year, sep=' '))

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Rの場合:2つの別々のデータフレーム内のIDまたは名前を一貫して置き換える(/匿名化する)方法

分類Dev

データフレーム内の複数の列を別の列と照合する高性能な方法

分類Dev

名前付き数値を照合することにより、Rデータフレームの行を乗算します

分類Dev

2つのデータフレーム間でデータを照合する簡単な方法[R]

分類Dev

Rの名前でデータフレームの行を削除する方法

分類Dev

グループ化された各名前のデータフレーム内の名前を照合してカウントする方法は?

分類Dev

Rの個別のデータとしてデータフレームから名前を抽出する

分類Dev

ベクトルの文字列をRのデータフレーム列と照合する方法

分類Dev

データフレームを別のデータフレームと照合してエラーを返す

分類Dev

rの値と列名を照合して、データフレームの値を別のデータフレームにマージします

分類Dev

データフレーム内の値を別のデータフレームと照合し、存在する場合は値を追加します

分類Dev

Pandasデータフレームリストの列の名前を別の名前に変更する方法

分類Dev

データフレームの行番号と列名を別のデータフレームの値と照合する

分類Dev

ID番号を照合して2つのデータフレームをマージする方法

分類Dev

別のデータフレームの名前で列の名前を変更する

分類Dev

dplyrによる別のデータフレームとの照合に基づいて、データフレームの列名を変更します

分類Dev

データフレーム内の列の名前を行の値と照合して列にデータを入力します

分類Dev

NaNと照合するときに特定の列Pandasデータフレームを選択する方法

分類Dev

2つのデータフレームをRの一部の文字と照合する

分類Dev

R:日付を照合して、あるデータフレームから別のデータフレームに値をインポートします

分類Dev

Rのデータフレームを照合して要約する

分類Dev

値を別のデータフレームのヘッダーと照合して、新しい列を作成する方法

分類Dev

パンダ:複数の列の値を別のデータフレームと照合して出力を生成する方法

分類Dev

最高ランクの単語をデータフレーム列Rのテキストと照合する

分類Dev

異なるデータフレームからのIDを照合し、Pythonで列の値を単一のデータフレームに配置します

分類Dev

別のデータフレームの行名の順序に基づいて1つのデータフレームの列名をマッピングすることにより、Rでデータフレームを並べ替える方法は?

分類Dev

別のデータフレームに格納されている列名を照合し、そのIDで置き換えます

分類Dev

Juliaでデータフレームの名前を取得する

分類Dev

データフレームの列と同じ名前の名前付きリストを作成した場合、rにデータフレームの行を追加するにはどうすればよいですか?

Related 関連記事

  1. 1

    Rの場合:2つの別々のデータフレーム内のIDまたは名前を一貫して置き換える(/匿名化する)方法

  2. 2

    データフレーム内の複数の列を別の列と照合する高性能な方法

  3. 3

    名前付き数値を照合することにより、Rデータフレームの行を乗算します

  4. 4

    2つのデータフレーム間でデータを照合する簡単な方法[R]

  5. 5

    Rの名前でデータフレームの行を削除する方法

  6. 6

    グループ化された各名前のデータフレーム内の名前を照合してカウントする方法は?

  7. 7

    Rの個別のデータとしてデータフレームから名前を抽出する

  8. 8

    ベクトルの文字列をRのデータフレーム列と照合する方法

  9. 9

    データフレームを別のデータフレームと照合してエラーを返す

  10. 10

    rの値と列名を照合して、データフレームの値を別のデータフレームにマージします

  11. 11

    データフレーム内の値を別のデータフレームと照合し、存在する場合は値を追加します

  12. 12

    Pandasデータフレームリストの列の名前を別の名前に変更する方法

  13. 13

    データフレームの行番号と列名を別のデータフレームの値と照合する

  14. 14

    ID番号を照合して2つのデータフレームをマージする方法

  15. 15

    別のデータフレームの名前で列の名前を変更する

  16. 16

    dplyrによる別のデータフレームとの照合に基づいて、データフレームの列名を変更します

  17. 17

    データフレーム内の列の名前を行の値と照合して列にデータを入力します

  18. 18

    NaNと照合するときに特定の列Pandasデータフレームを選択する方法

  19. 19

    2つのデータフレームをRの一部の文字と照合する

  20. 20

    R:日付を照合して、あるデータフレームから別のデータフレームに値をインポートします

  21. 21

    Rのデータフレームを照合して要約する

  22. 22

    値を別のデータフレームのヘッダーと照合して、新しい列を作成する方法

  23. 23

    パンダ:複数の列の値を別のデータフレームと照合して出力を生成する方法

  24. 24

    最高ランクの単語をデータフレーム列Rのテキストと照合する

  25. 25

    異なるデータフレームからのIDを照合し、Pythonで列の値を単一のデータフレームに配置します

  26. 26

    別のデータフレームの行名の順序に基づいて1つのデータフレームの列名をマッピングすることにより、Rでデータフレームを並べ替える方法は?

  27. 27

    別のデータフレームに格納されている列名を照合し、そのIDで置き換えます

  28. 28

    Juliaでデータフレームの名前を取得する

  29. 29

    データフレームの列と同じ名前の名前付きリストを作成した場合、rにデータフレームの行を追加するにはどうすればよいですか?

ホットタグ

アーカイブ