2015-12-04 2 views
0

У меня есть data.frame, который выглядит какЗаменить определенное число с фразой в R

SNP   CHR   BP   A1  A2  EFF  SE  P  NGT 
    rs882982  1  100066094  a  g  -.0179 .006 .002797 28  .486 
    rs7518025  2  100066515  t  c  .0198 .0059 .0007438  26  .47 
    rs6678322  3  100069554  a  t  .0187 .0059 .001498 25  .452 
    rs61784986  14  100074953  t  c  -.0182 .0058 .001748 26  .469 
    rs7554246  21  100075695  t  c  -.0167 .006 .004932 26  .455 
    rs12121193  16  100075777  a  t  -.0183 .0058 .001652 26  .471 
    rs835016  3  100078102  t  c  .02  .0065 .001979 28  .196 

И я хотел бы добавить буквы «Chr» перед числами в колонке CHR. Мой желаемый результат:

SNP   CHR   BP   A1  A2  EFF  SE  P  NGT 
    rs882982  chr1  100066094  a  g  -.0179 .006 .002797 28  .486 
    rs7518025  chr2  100066515  t  c  .0198 .0059 .0007438  26  .47 
    rs6678322  chr3  100069554  a  t  .0187 .0059 .001498 25  .452 
    rs61784986  chr14  100074953  t  c  -.0182 .0058 .001748 26  .469 
    rs7554246  chr21  100075695  t  c  -.0167 .006 .004932 26  .455 
    rs12121193  chr16  100075777  a  t  -.0183 .0058 .001652 26  .471 
    rs835016  chr3  100078102  t  c  .02  .0065 .001979 28  .196 

Должен ли я использовать grep каким-то образом или какие-то полезные команды R?

+0

Что вы пытаетесь до сих пор? Кроме того, в настоящее время есть много вопросов о «поиске/замене на R» на этом сайте. Что вы искали и находили? –

+0

@Pascal На самом деле Эван даже не заменяет, он просто добавляет префикс. –

+1

Возможный дубликат [Как можно объединить 2 строки в R] (http://stackoverflow.com/questions/7201341/how-can-2-strings-be-concatenated-in-r) –

ответ

3

Просто используйте paste():

df$CHR <- as.character(df$CHR)   # in case it is a factor column 
df$CHR <- paste("chr", df$CHR, sep="") 
+2

'paste (sep =" ")' такой же как 'paste0()' –

+0

@RichardScriven Спасибо за это, я только что узнал что-то новое :-) –

+1

Я думаю, даже если это «фактор», 'paste 'step будет преобразовываться в 'character', то есть' v1 <- factor (1: 5); paste0 ('Chr', v1) # [1] "Chr1" "Chr2" "Chr3" "Chr4" "Chr5" ' – akrun

Смежные вопросы