我有一个包含10,000个观测值的数据框,其中有两个配对数据集。在另一个数据集中,我有几个选定的配对数据集。
test <- data.frame (iso1=c("A", "B", "C"))
data <- data.frame(hosp1=c("A", "B", "C", "D", "E", "C", "A", "B"),
hosp2=c("B", "c", "F", "C", "G", "A", "H", "A"),
dist= c(12,32,23,12,12,45,13))
现在,我想使用测试数据从诸如“A”和“B”、“B”和“A”、“A”和“C”、“C”和“A”、“B”和“C”、“C”和“B”的数据集“数据”中提取形成数据的可能排列的所有观察
我希望得到这样的东西
hosp1 hosp2 dist
A B 12
B C 23
C A 12
B A 13
4条答案
按热度按时间ocebsuys1#
您只需测试
test$iso1
是否同时出现在hosp1
和hosp2
中:注意,我修正了示例数据中的一个非大写字母和一个缺失的
dist
值。ego6inou2#
如果在"hosp"列中找到了"iso1"列中的任何元素,也许我们可以只使用
filter
和if_all
来查找或以
base R
为单位数据
oaxa6hgo3#
使用
RcppAlgos::permuteGeneral
。或者将空排列显示为
NA
,或者摆脱他们。
sqougxex4#
将一个连接组合与连接的hosp行进行比较。然后询问...在列表中是否为“AB”...