在数据帧中拆分序列?

时间:2014-06-10 14:14:58

标签: r csv split dataframe

我有一个像这样的csv文件,

x <- read.csv("C:/Users/XXXX/Documents/XXXX/Day1_15042014/work2.csv")
class(x)
x$Sequence.window![enter image description here][1]

> x$Sequence.window

  [1] VVELRKTGGDTLEFHKFYKNFSSGLKDVVWN                                                                
  [2] PGLTTQGTKFGRKIVKTLAYRVKSTQPSSGN                                                                
  [3] EATEFYLRYYVGHKGKFGHEFLEFEFREDGK                                                                
  [4] LVPVVWGERKTPEIEKKGFGASSKAATSLPS                                                                
  [5] NMNELPEKKNSAGFIKLEDKQKLIVEMEKSV                                                                
  [6] PTLHFNYRYFETDAPKDVPGAPRQWWFGGGT                                                                
  [7] PDPTTAPMEAAKQPKKKRSRSKKCKSVNNLD                                                                
  [8] PAKAAKTAKVTSPAKKAVAATKKVATVATKK                                                     

这个类是一个数据帧。我现在想要将序列窗口拆分到10:22范围内(Ex [1] VVELRKTGGDTLEFHKFYKNFSSGLKDVVWN,对于所有序列,输出应该类似于[1] DTLEFHKFYKNFS)。我如何在数据框中执行此操作?

1 个答案:

答案 0 :(得分:2)

您可以使用substr功能

#dummy data
x <- read.table(text="Sequence.window
VVELRKTGGDTLEFHKFYKNFSSGLKDVVWN
PGLTTQGTKFGRKIVKTLAYRVKSTQPSSGN
EATEFYLRYYVGHKGKFGHEFLEFEFREDGK",header=TRUE,as.is=TRUE)

#substr from 10 to 22
substr(x$Sequence.window,start=10,stop=22)
#[1] "DTLEFHKFYKNFS" "FGRKIVKTLAYRV" "YVGHKGKFGHEFL"