我有3個數據幀。一個包含整套數字。第二和第三個數據幀包含具有某種特徵(類型1或類型2)的這些數字的子集。我想要做的是將這些數據幀合併爲一個,以便每個數字都被檢查爲類型1或類型2。與其他數據幀的值匹配的標籤值
例子:
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)
合併
fs
,
to
和
tt
後
期望的結果:
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
也許這:'data.frame(數字=數字, typeone = ifelse(數字%in type typeone,「yes」,「」), typetwo = ifelse(numbers%in%typetwo,「yes」,「」))' –
是的,這是最簡單的解決方案,但我沒有看到使用邏輯上的二進制字符串。所以我把它交給了OP。 –
@AndreyKolyadin你是對的,如果你按照某人的建議去遍歷「是」,「」路線,那麼用戶可以更容易地將子集(需要)或稍後編入索引,而無需再次將其轉換爲邏輯。另外,使用'ifelse'也可能會減慢進程的不必要程度 – akrun