Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据R中的模式创建包含部分字符串的新列_R_String_Tidyverse - Fatal编程技术网

如何根据R中的模式创建包含部分字符串的新列

如何根据R中的模式创建包含部分字符串的新列,r,string,tidyverse,R,String,Tidyverse,抱歉如果这个问题以前已经解决了,我还没有找到解决这个问题的方法。我试图从包括-1和+1位置的sting中拉出字母“N”,并在新列中报告它,字符串中可能有多个N实例,我希望它报告所有这些。我可以使用 dt\u contains\u N使用substr/substring提取N\u pos-1到N\u pos+1之间的字符串 transform(dt, Motif = substr(Peptide, N_pos - 1, N_pos + 1)) # Peptide N_pos Motif #1

抱歉如果这个问题以前已经解决了,我还没有找到解决这个问题的方法。我试图从包括-1和+1位置的sting中拉出字母“N”,并在新列中报告它,字符串中可能有多个N实例,我希望它报告所有这些。我可以使用
dt\u contains\u N使用
substr
/
substring
提取
N\u pos-1
N\u pos+1
之间的字符串

transform(dt, Motif = substr(Peptide, N_pos - 1, N_pos + 1))

#  Peptide N_pos Motif
#1  GESNEL     4   SNE
#2 SADNNEW     4   DNN
#3 SADNNEW     5   NNE

使用
tidyverse

library(dplyr)
library(stringr)
dt %>%
    mutate(Motif = str_sub(Peptide, N_Pos -1, N_pos + 1))

难以置信的这比我想象的要简单得多。非常感谢你!