如何在 R 中散列这两个数据帧?
How do I hash in these 2 dataframes in R?
所以我有来自 2 个不同数据帧的这两列(genome$V9
和 Impact4$INFO
),如下所示。
基本上每个 Impact4$INFO
行中都有一个值(结构类似于 OE6AXXXXXXX,其中 X 是一个 integer
),我想在 genome$V9
中的每一行中进行过滤。我知道这很复杂,因为两列中都有很多值...
谢谢
Column1
Column2
当结构一致时,您可以很容易地从字符串中提取数字。鉴于您的结构是一致的,您可以尝试:
library(stringr)
test <- c("ID=OE6A002689", "ID=OE6A044524", "ID=OE6A057168TI")
str_extract(test, "[0-9]{6}")
输出为:
[1] "002689" "044524" "057168"
鉴于你想以此为基础过滤你的基因组数据,你可以尝试:
library(dplyr)
library(stringr)
ids <- str_extract(Impact4$INFO, "[0-9]{6}")
genome %>%
mutate(ind = str_extract(V9, "[0-9]{6}")) %>%
filter(ind %in% ids)
希望对您有所帮助?否则你必须提供一个可重现的例子(post 这里的例子数据)。
所以我有来自 2 个不同数据帧的这两列(genome$V9
和 Impact4$INFO
),如下所示。
基本上每个 Impact4$INFO
行中都有一个值(结构类似于 OE6AXXXXXXX,其中 X 是一个 integer
),我想在 genome$V9
中的每一行中进行过滤。我知道这很复杂,因为两列中都有很多值...
谢谢
Column1
Column2
当结构一致时,您可以很容易地从字符串中提取数字。鉴于您的结构是一致的,您可以尝试:
library(stringr)
test <- c("ID=OE6A002689", "ID=OE6A044524", "ID=OE6A057168TI")
str_extract(test, "[0-9]{6}")
输出为:
[1] "002689" "044524" "057168"
鉴于你想以此为基础过滤你的基因组数据,你可以尝试:
library(dplyr)
library(stringr)
ids <- str_extract(Impact4$INFO, "[0-9]{6}")
genome %>%
mutate(ind = str_extract(V9, "[0-9]{6}")) %>%
filter(ind %in% ids)
希望对您有所帮助?否则你必须提供一个可重现的例子(post 这里的例子数据)。