如何将基因标题添加到R中的输出?

如何将基因标题添加到R中的输出?,r,stringr,R,Stringr,我有9个长度字符串和带有标题的较长字符串列表 示例数据: String <- "ABCDEFGHI", "ACBDGHIEF" 我使用库(stringr)来定位每个字符串的位置 R中的代码 loc <- str_locate(textfile,pattern = strings) write.csv(loc, "locate.csv") loc这里有一个带有tidyverse的选项。使用readLines读取数据后,基于'title'与'value'的出现,它是交替的,因此一个选

我有9个长度字符串和带有标题的较长字符串列表

示例数据:

String <- "ABCDEFGHI", "ACBDGHIEF"
我使用
库(stringr)
来定位每个字符串的位置

R中的代码

loc <- str_locate(textfile,pattern = strings)
write.csv(loc, "locate.csv")

loc这里有一个带有
tidyverse
的选项。使用
readLines
读取数据后,基于'title'与'value'的出现,它是交替的,因此一个选项是使用循环逻辑向量('i1')将数据分隔为列或向量,仅应用
str\u locate
值('col2'),通过检查“locate”中是否有
NA
元素,创建
行编号
列和“source\u longer\u string”

library(dplyr)
library(stringr)
i1 <- c(TRUE, FALSE)
df1 <- tibble(col1 = textfile[i1], col2 = textfile[!i1])
str_locate(df1$col2, str_c(String, collapse="|")) %>% 
  as.data.frame %>%
  transmute(string = row_number(), 
           locate = str_c(start, end, sep="-"),
           source_longer_string = case_when(is.na(locate) ~ NA_character_, 
           TRUE ~ df1$col1))
#   string locate source_longer_string
#1      1    1-9                >name
#2      2   7-15               >name1
#3      3   <NA>                 <NA>
库(dplyr)
图书馆(stringr)
i1%
转换(字符串=行号(),
locate=str_c(开始、结束、sep=“-”,
source_longer_string=case_当(is.na(locate)~na_字符时,
正确~df1$col1)
#字符串定位源\u更长\u字符串
#1-9>名称
#2 7-15>名称1
#3      3                    
数据
textfile这里有一个带有
tidyverse
的选项。使用
readLines
读取数据后,基于'title'与'value'的出现,它是交替的,因此一个选项是使用循环逻辑向量('i1')将数据分隔为列或向量,仅应用
str\u locate
值('col2'),通过检查“locate”中是否有
NA
元素,创建
行编号
列和“source\u longer\u string”

library(dplyr)
library(stringr)
i1 <- c(TRUE, FALSE)
df1 <- tibble(col1 = textfile[i1], col2 = textfile[!i1])
str_locate(df1$col2, str_c(String, collapse="|")) %>% 
  as.data.frame %>%
  transmute(string = row_number(), 
           locate = str_c(start, end, sep="-"),
           source_longer_string = case_when(is.na(locate) ~ NA_character_, 
           TRUE ~ df1$col1))
#   string locate source_longer_string
#1      1    1-9                >name
#2      2   7-15               >name1
#3      3   <NA>                 <NA>
库(dplyr)
图书馆(stringr)
i1%
转换(字符串=行号(),
locate=str_c(开始、结束、sep=“-”,
source_longer_string=case_当(is.na(locate)~na_字符时,
正确~df1$col1)
#字符串定位源\u更长\u字符串
#1-9>名称
#2 7-15>名称1
#3      3                    
数据
textfile start end 1 19 2 7 15 3 NA NAHi akrun-我确实更新了预期结果。我想知道如何得到最后一个加粗的专栏。谢谢你抽出时间。是的,但这就是困惑。对于第一个基因,我发现标题是
name
,它也与
“ABCDEFGHI”
匹配。您将两个“字符串”显示为具有相同的长度,因此不清楚“名称1”如何匹配编辑是我的错误。您是对的-第一个字符串来自“name”,第二个字符串来自“name1”。抱歉开始结束1197153 NAHi akrun-我确实更新了预期结果。我想知道如何得到最后一个加粗的专栏。谢谢你抽出时间。是的,但这就是困惑。对于第一个基因,我发现标题是
name
,它也与
“ABCDEFGHI”
匹配。您将两个“字符串”显示为具有相同的长度,因此不清楚“名称1”如何匹配编辑是我的错误。您是对的-第一个字符串来自“name”,第二个字符串来自“name1”。很抱歉
textfile <- readLines(textConnection(">name
ABCDEFGHIJKLMNOPQRSTUVWXYX
>name1
TUVWXYACBDGHIEFXGHIJKLMIJK
>name2
ABFNOCDEPQRXYXGSTUVWHIMJKL"))

String <- c("ABCDEFGHI", "ACBDGHIEF")