【问题标题】:Replace a certain number with a phrase in R用R中的短语替换某个数字
【发布时间】:2015-12-04 05:21:18
【问题描述】:

我有一个看起来像的 data.frame

    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 命令?

【问题讨论】:

  • 到目前为止你尝试了什么?此外,现在这个网站上有很多关于“用 R 搜索/替换”的问题。您搜索并找到了什么?
  • @Pascal 实际上 Evan 甚至没有替换,他只是添加了一个前缀。
  • @TimBiegeleisen 是的,我被标题滥用了。但仍然需要 OP 以首先由他/她自己进行搜索。

标签: r dataframe


【解决方案1】:

只需使用paste():

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

【讨论】:

  • paste(sep = "")paste0() 相同
  • @RichardScriven 谢谢你,我刚刚学到了一些新东西:-)
  • 我猜,即使是factorpaste 步骤也会转换为“字符”,即v1 &lt;- factor(1:5);paste0('Chr', v1)# [1] "Chr1" "Chr2" "Chr3" "Chr4" "Chr5"
猜你喜欢
  • 1970-01-01
  • 2022-10-17
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 2014-11-27
  • 2021-09-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多