我有这两个表,我从一个更大的表子集的意见:R,分析不合并
table1 <- parent_table[parent_table$diag %in% c('a', 'b', 'c'), parent_table$patient_id]
table2 <- parent_table[parent_table$med %in% c('d', 'e', 'f'), parent_table$patient_id]
我然后合并这两个表,就patient_id
哪些病人接受了药物治疗的诊断。
merge1 <- merge(table1, table2, by="patient_id", all = TRUE)
我现在想对那些谁没有接受抗生素,即那些被包含在谁做table1
分析,但不merge1
。
欢迎来到Stack Overflow!请提供[可重现的示例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。如果没有可重复的例子,我只能猜测'setdiff(table1 $ patient_id,table2 $ patient_id)'可能会诀窍。 – Jota
与Frank相同:caveat merge(df1,df2,all = T)。添加df1 $ label =“label1”和df2 $ label =“label2”是有帮助的。 – Henk
你的意思是包含在'table1'而不是'table2'中的病人?您不在'merge1'中指定,这是没有意义的,因为与'all = TRUE'合并将包含'table1'中的所有患者(可能更多)。 –