私は3つのデータフレームを持っています。 1つは数字のセット全体を含んでいます。第2および第3のデータフレームは、ある特徴(タイプ1またはタイプ2)を有するこれらの数字のサブセットを含む。私がしたいのは、これらのデータフレームを1つにまとめて、各番号がタイプ1またはタイプ2でチェックされるようにすることです。他のデータフレームの値と一致するラベル値
例:fs
、to
とtt
をマージした後
numbers <- c("+333","+334", "+335", "+443", "+444", "+445", "+553", "+554", "+555")
typeone <- c("+333","+334", "+335", "+443")
typetwo <- c("+335", "+443", "+444", "+445")
fs <- data.frame(numbers)
to<- data.frame(typeone)
tt<- data.frame(typetwo)
望ましい結果:あなたが欲しいしかし、その後、あなたは新しい論理列を変更することができます
data.frame(numbers = numbers,
typeone = numbers %in% typeone,
typetwo = numbers %in% typetwo)
:
numbers typeone typetwo
1 333 yes
2 334 yes
3 335 yes yes
4 443 yes yes
5 444 yes
6 445 yes
7 553
8 554
9 555
で
Reduce
を使用する: 'data.frame(番号=番号、 typeone = ifelse(数字 typetwo = ifelse(数字の%typetwo、 "yes"、 "")) –はい、それは最も簡単な解決策ですが、使用すると利点はありません論理上のバイナリ文字列。そこで私はそれをOPに残しました。 –
@AndreyKolyadinあなたは正しいです。これは、誰かが提案したように "yes"ルートを通過する場合、論理的に再変換せずに、サブセット(必要に応じて)や索引付けが容易になります。さらに、 'ifelse'を使用すると、プロセスが不必要に遅くなる可能性があります – akrun