根据其中一列的元素组合表格
Combining tables based on elements from one of the columns
这有点难以解释,所以我将在下面展示一个示例,但我基本上有两个 table,我想通过匹配创建一个带有新列的新 table另一个 table 的行中有什么。我还想指出这些 table 非常大(10,000 多行)。有没有办法在 R 中做到这一点?
假设这些是我拥有的 table
Table 1-sample
obs code genSym
14 E444 5
28 3330 6
33 7555 9
35 E777 10
Table 2-description
row_id code type
1 E444 INS
3 7555 MMS
5 5679 SMO
6 A678 LLX
7 A900 IRR
8 3330 DEL
9 4545 SLL
10 E777 FOO
我希望它看起来像这样
obs code genSym type
14 E444 5 INS
28 3330 6 DEL
33 7555 9 MMS
35 E777 10 FOO
我的第一个 table 是我的示例 table,第二个 table 是我的描述 table,其中包含对代码含义的所有描述。我想根据第一个 table 中的代码匹配第一个 table 中的“类型”。感谢您的帮助!
你需要做一个左连接,这可以完成multiple ways。这是一种使用 tidyverse 的方法:
library(tidyverse)
table_1 = tibble(
obs = c(14, 28, 33, 35),
code = c("E444", "3330", "7555", "E777"),
genSym = c(5, 6, 9, 10)
)
table_2 = tibble(
code = c("E444", "7555", "5679", "A678", "A900", "3330", "4545", "E777"),
type =c("INS", "MMS", "SMO", "LLX", "IRR", "DEL", "SLL", "FOO")
)
table_1 %>% left_join(table_2)
Joining, by = "code"
# A tibble: 4 x 4
obs code genSym type
<dbl> <chr> <dbl> <chr>
1 14 E444 5 INS
2 28 3330 6 DEL
3 33 7555 9 MMS
4 35 E777 10 FOO
这有点难以解释,所以我将在下面展示一个示例,但我基本上有两个 table,我想通过匹配创建一个带有新列的新 table另一个 table 的行中有什么。我还想指出这些 table 非常大(10,000 多行)。有没有办法在 R 中做到这一点?
假设这些是我拥有的 table
Table 1-sample
obs code genSym
14 E444 5
28 3330 6
33 7555 9
35 E777 10
Table 2-description
row_id code type
1 E444 INS
3 7555 MMS
5 5679 SMO
6 A678 LLX
7 A900 IRR
8 3330 DEL
9 4545 SLL
10 E777 FOO
我希望它看起来像这样
obs code genSym type
14 E444 5 INS
28 3330 6 DEL
33 7555 9 MMS
35 E777 10 FOO
我的第一个 table 是我的示例 table,第二个 table 是我的描述 table,其中包含对代码含义的所有描述。我想根据第一个 table 中的代码匹配第一个 table 中的“类型”。感谢您的帮助!
你需要做一个左连接,这可以完成multiple ways。这是一种使用 tidyverse 的方法:
library(tidyverse)
table_1 = tibble(
obs = c(14, 28, 33, 35),
code = c("E444", "3330", "7555", "E777"),
genSym = c(5, 6, 9, 10)
)
table_2 = tibble(
code = c("E444", "7555", "5679", "A678", "A900", "3330", "4545", "E777"),
type =c("INS", "MMS", "SMO", "LLX", "IRR", "DEL", "SLL", "FOO")
)
table_1 %>% left_join(table_2)
Joining, by = "code"
# A tibble: 4 x 4
obs code genSym type
<dbl> <chr> <dbl> <chr>
1 14 E444 5 INS
2 28 3330 6 DEL
3 33 7555 9 MMS
4 35 E777 10 FOO