【发布时间】:2013-01-21 14:43:57
【问题描述】:
我目前正试图弄清楚如何选择一个长数据帧 (long) 中的所有行,这些行呈现相同的 x1 和 x2 组合来表征另一个数据帧 (short)。
简化数据为:
long <- read.table(text = "
id_type x1 x2
1 0 0
1 0 1
1 1 0
1 1 1
2 0 0
2 0 1
2 1 0
2 1 1
3 0 0
3 0 1
3 1 0
3 1 1
4 0 0
4 0 1
4 1 0
4 1 1",
header=TRUE)
和
short <- read.table(text = "
x1 x2
0 0
0 1",
header=TRUE)
预期的输出是:
id_type x1 x2
1 0 0
1 0 1
2 0 0
2 0 1
3 0 0
3 0 1
4 0 0
4 0 1
我试过用:
out <- long[unique(long[,c("x1", "x2")]) %in% unique(short[,c("x1", "x2")]), ]
但是%in%收养在这里用错了..非常感谢您的帮助!
【问题讨论】: