This question already has answers here:
How to do cross join in R?
(9个答案)
4年前关闭。
我需要做两个数据框的笛卡尔积。例如,
那么 C 在做 A 和 B 的笛卡尔积之后会像
因为有些 id 在 A 中是相同的,所以我不能使用像
这种方式会产生更多的行。有人能帮我离开这里吗?谢谢
(9个答案)
4年前关闭。
我需要做两个数据框的笛卡尔积。例如,
A = id weight type
10 20 a
10 30 b
25 10 c
B = date report
2007 y
2008 n
那么 C 在做 A 和 B 的笛卡尔积之后会像
C = id weight type date report
10 20 a 2007 y
10 20 a 2008 n
10 30 b 2007 y
10 30 b 2008 n
25 10 c 2007 y
25 10 c 2008 n
因为有些 id 在 A 中是相同的,所以我不能使用像
C <- merge(A$id,B$date)
C <- merge(C,A,by="id")
C <- merge(C,B,by="date")
这种方式会产生更多的行。有人能帮我离开这里吗?谢谢
最佳答案
merge(A, B)
,如果没有连接两者的列,默认情况下应该这样做,不是吗?
来自 ?merge
(强调我的):
诚然,这确实需要人们知道查看 ?merge
。 R 中严重缺乏基于上下文的搜索;甚至 rseek 也不会立即提供此信息。
关于R:两个数据框的笛卡尔积的功能是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39198078/
10-11 22:30