我有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