IはR内の2つのデータフレームを有する:df1
で1つのRデータフレームを別のRデータフレームの値でサブセット化する方法は?
Died.At <- c(22,40,72,41, ...)
Writer.At <- c(16, 18, 36, 36)
Name <- c("John Doe", "Edgar Poe", "Walt Whitman", "Jane Austen", ...)
Gender <- c("MALE", "MALE", "MALE", "FEMALE", ...)
Date.Of.Death <- c("2015-05-10", "1849-10-07", "1892-03-26","1817-07-18", ...)
Pet <- c("cat", "dog", "cat", "cat")
df1 = data.frame(Died.At, Writer.At, Name, Gender, Pet)
print(df1)
Died.At Writer.At Name Gender Pet
1 22 16 John Doe MALE cat
2 40 18 Edgar Poe MALE dog
3 72 36 Walt Whitman MALE cat
4 41 36 Jane Austen FEMALE cat
.....
ない各行Name
ために独特である
第二データフレームdf2
もある(すなわち、同じ著者を有する複数の行があります。)列Name
とdf1
(例えば、Jane Austen)の両方の著者と全く新しい著者。このデータフレームもはるかに大きいです。
print(length(unique(df1$Name)))
## output 1168
print(length(unique(df2$Name)))
## output 5572
私は名前だけがdf1
から名前があるdf2
ように、そのサブセットしたいと思います。私の考え
はこれを行うことでした。
print(length(unique(subset_df2$Name)))
## output 880
私は期待していたよりも少ないです:
subset_df2 = df2[df2$Name == unique(df1$Name)]
しかし、私はここに1168ユニークな著者名があると期待されます。私のエラーはどこですか?
"Name列の各値は一意ですが、df1では各行が一意ではありません(つまり、同じ著者が複数の行があります)。 df1の各行が一意でなく、いくつかの行が同じ作成者を持つ場合、df1が名前から構成されている場合、Nameはどのようにユニークですか。あなたのコードでもFirst.NameとSecond.Nameはありますが、df1には表示されません。 – Djork
@ R.S。私は上記の---感謝を編集しました。 – ShanZhengYang
'subset_df2 < - サブセット(df2、%df1 $ Nameの名前%)' – jdobres