1
私はRを見つめて、2つの異なるテーブルの2つの列を比較しようとします。 一致する場合は、特定の値(df1)を置き換えます。 私はデータベースにスクリプトを使いたいので、追加のパッケージを使用することについて非常に制限されているという問題もあります。フレーム/テーブルの特定の行を比較して置き換えます
DF1:
DE
Deutschland
England
Germany
Italien
DF2
GE EN
Deutschland Germany
Italien Italy
England UK
結果: DF1:
DE
Deutschland
England
**Deutschland**
Italien
私は次のコードを試してみました:
df1 <- data.frame("DE" = c("Deutschland", "England", "Germany", "Italien"))
df2 <- data.frame("GE" = c("Deutschland", "Italien", "England"), "EN" = c("Germany", "Italy", "UK"))
df1[] <- lapply(df1, as.character)
df2[] <- lapply(df2, as.character)
df1 <- ifelse(!(df1$DE %in% df2$EN), df1$DE, df2$GE)
を
"Deutschland"の代わりに "England"を置き換えます。正しい行をどのように置き換えることができますか?
'%が' '試合を使用します'。大規模なデータセットでは、 'df1 $ DE [ind> 0] < - df2 $ GE [ind]'の後に 'ind < - match(df1 $ DE、df2 $ EN、nomatch = 0)'を使用する方が有利かもしれません。 (この小さなデータセットでは、すでに約30%速くなっていますが、その時間差は重要ではありません) – r2evans
答えと説明をありがとう。 –
@ r2evans thx&added :-) – Jaap