我目前正在尝试弄清楚如何选择长数据帧(long
)的所有行,这些行呈现相同的x1
和x2
组合,表征另一个数据帧({{1 }})。
简化数据是:
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")]), ]
采用错误地在这里使用..非常感谢您的帮助!
答案 0 :(得分:3)
您正在请求内部联接:
> merge(long, short)
x1 x2 id_type
1 0 0 1
2 0 0 2
3 0 0 3
4 0 0 4
5 0 1 1
6 0 1 2
7 0 1 3
8 0 1 4