将表格与 R 中的 doppel Key 组合
Combine Tables with doppel Key in R
我有两个数据集,想使用双键将列从 DATA2 添加到 DATA1。
问题:
Data1 的行数多于 DATA2。
我要R用右双键复制所有值。
我有 2 个数据集要添加到两列中。但是,DATA1 的行数(同一行被多次提及)比 DATA 2 多。
我有:
DATA1 DATA2
key1 key 2 ... key1 key2 XXX
A 1 A 1 X
A 1 A 2 Y
A 2 B 1 Z
B 1
B 1
B 1
.
我的目标是将列 XXX 添加到 DATA1。
DATA 2的值XXX应该在DATA1比较频繁的行中复制或提及几次。
我需要的:
DATA 1 DATA2
key1 key 2 WERTE key1 key2 WERTE
A 1 X A 1 X
A 1 X A 2 Y
A 2 Y B 1 Z
B 1 Z
B 1 Z
B 1 Z
Hugh 感谢您提供任何帮助或想法! :)
我想到了 full_join 和 dplyr 但做不到。
很遗憾,我还不是 R 专家。如果你们中的任何人有想法并且可以帮助我,我将不胜感激。
此致
您可以使用 dplyr
中的 left_join
和 select 多个要加入的列 by
。您可以使用以下代码:
DATA1 <- data.frame(key1 = c("A", "A", "A", "B", "B", "B"),
key2 = c(1, 1, 2, 1, 1, 1))
DATA2 <- data.frame(key1 = c("A", "A", "B"),
key2 = c(1, 2, 1),
XXX = c("X", "Y", "Z"))
library(dplyr)
DATA_COMBINED <- left_join(DATA1, DATA2, by = c("key1", "key2"))
DATA_COMBINED
输出:
key1 key2 XXX
1 A 1 X
2 A 1 X
3 A 2 Y
4 B 1 Z
5 B 1 Z
6 B 1 Z
我有两个数据集,想使用双键将列从 DATA2 添加到 DATA1。
问题: Data1 的行数多于 DATA2。
我要R用右双键复制所有值。 我有 2 个数据集要添加到两列中。但是,DATA1 的行数(同一行被多次提及)比 DATA 2 多。
我有:
DATA1 DATA2
key1 key 2 ... key1 key2 XXX
A 1 A 1 X
A 1 A 2 Y
A 2 B 1 Z
B 1
B 1
B 1
.
我的目标是将列 XXX 添加到 DATA1。 DATA 2的值XXX应该在DATA1比较频繁的行中复制或提及几次。
我需要的:
DATA 1 DATA2
key1 key 2 WERTE key1 key2 WERTE
A 1 X A 1 X
A 1 X A 2 Y
A 2 Y B 1 Z
B 1 Z
B 1 Z
B 1 Z
Hugh 感谢您提供任何帮助或想法! :)
我想到了 full_join 和 dplyr 但做不到。
很遗憾,我还不是 R 专家。如果你们中的任何人有想法并且可以帮助我,我将不胜感激。
此致
您可以使用 dplyr
中的 left_join
和 select 多个要加入的列 by
。您可以使用以下代码:
DATA1 <- data.frame(key1 = c("A", "A", "A", "B", "B", "B"),
key2 = c(1, 1, 2, 1, 1, 1))
DATA2 <- data.frame(key1 = c("A", "A", "B"),
key2 = c(1, 2, 1),
XXX = c("X", "Y", "Z"))
library(dplyr)
DATA_COMBINED <- left_join(DATA1, DATA2, by = c("key1", "key2"))
DATA_COMBINED
输出:
key1 key2 XXX
1 A 1 X
2 A 1 X
3 A 2 Y
4 B 1 Z
5 B 1 Z
6 B 1 Z