【问题标题】:Changing text in a data frame更改数据框中的文本
【发布时间】:2011-10-03 23:05:34
【问题描述】:

我正在使用一个数据框,我需要在其中编辑一个特定列中的条目以便于排序。导入时数据框如下所示:

     Assay    Genotype Description Sample   Operator
1    CCT6-18  C    A.Conservative  1_062911 Automatic   
2    CCT6-24  C       E.User Call  1_062911   charles
3    CCT6-25  A    A.Conservative  1_062911 Automatic

我需要将检测列从 CCT6-18 更改为 CCT6-018。此“测定”在数据框中多次出现,我想一次更改所有条目。我试过 gsub 函数,但它以我不熟悉的格式返回数据。我想在数据框中取回数据。

救命!

【问题讨论】:

    标签: r


    【解决方案1】:
    df$Assay <- replace(df$Assay, df$Assay=="CCT6-18", "CCT6-018")
    

    应该会看到你。

    另外,请尝试 str(df)class(df$Assay) 以查看您的 Assay 列属于哪个类别。如果这是一个因素,这可能是你被绊倒的原因。如果是这样,请先运行df$Assay &lt;- as.character(df$Assay)

    【讨论】:

      【解决方案2】:

      这取决于您是否也想更改Assay 中的其他条目。一个简单的方法是在破折号后添加0

      df$Assay <- gsub('-', '-0', df$Assay)
      

      正则表达式解决方案类似于:

      df$Assay <- gsub('(\\d\\d)','0\\1', df$Assay)
      

      这会将任何两位数字替换为0,后跟相同的两位数字。您必须小心使用正则表达式,因为您必须非常了解您的数据,以确保您不会错误地更改任何内容。例如,如果您在 Assay 中有一个条目 CCT62-18,那么您就不想使用这个正则表达式,因为它会将 62 更改为 062。

      【讨论】:

        【解决方案3】:

        我会通过替换因子水平来解决。

        sam <- data.frame(assay = c("CCT6-18", "CCT6-23", "CCT6-25"),
            genetype = sample(letters, 3), operator = runif(3), sample = runif(3))
        str(sam)
          'data.frame': 3 obs. of  4 variables:
           $ assay   : Factor w/ 3 levels "CCT6-18","CCT6-23",..: 1 2 3
           $ genetype: Factor w/ 3 levels "f","u","w": 1 2 3
           $ operator: num  0.595 0.912 0.76
           $ sample  : num  0.525 0.626 0.377
        levels(sam$assay)[1] <- "CCT6-018"
        sam
               assay genetype  operator    sample
           1 CCT6-018        f 0.5950434 0.5249502
           2  CCT6-23        u 0.9123185 0.6257186
           3  CCT6-25        w 0.7595744 0.3769029
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-11-17
          • 1970-01-01
          • 1970-01-01
          • 2020-07-15
          • 1970-01-01
          • 1970-01-01
          • 2013-04-12
          • 1970-01-01
          相关资源
          最近更新 更多