【问题标题】:Replace rows with another neighbor rows in R with statement用 R 语句中的另一个相邻行替换行
【发布时间】:2018-12-02 03:06:36
【问题描述】:

我有一个问题可能太容易解决但我正在尝试。

>data

       xloc     genes
1 XLOC_000002 AT1G01046
2 XLOC_000006 AT1G01130
3 XLOC_000009 CUFF.14.1
4 XLOC_000010 CUFF.15.1
5 XLOC_000027 AT1G01448
6 XLOC_000027 AT1G01448

我想加入两列,用第一列中的元素替换包含“CUFF”的行,如下所示:

       xloc     genes      x
1 XLOC_000002 AT1G01046 AT1G01046  
2 XLOC_000006 AT1G01130 AT1G01130
3 XLOC_000009 CUFF.14.1 XLOC_000009
4 XLOC_000010 CUFF.15.1 XLOC_000010
5 XLOC_000027 AT1G01448 AT1G01448
6 XLOC_000027 AT1G01448 AT1G01448

我正在尝试:

data$x <- ifelse(grepl("^CUFF",data$genes),data$xloc, data$genes)

但是输出是这样的:

        xloc     genes  x
1 XLOC_000002 AT1G01046  5
2 XLOC_000006 AT1G01130 16
3 XLOC_000009 CUFF.14.1  9
4 XLOC_000010 CUFF.15.1 10
5 XLOC_000027 AT1G01448 51
6 XLOC_000027 AT1G01448 51

请帮忙

问候

【问题讨论】:

    标签: r dataframe if-statement


    【解决方案1】:

    问题在于factor 列的class 被强制转换为其整数存储模式值。将列转换为character,它应该可以工作

    data$x <- ifelse(grepl("^CUFF",data$genes),
               as.character(data$xloc), as.character(data$genes))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-27
      • 1970-01-01
      • 2021-09-22
      • 1970-01-01
      • 2015-07-28
      相关资源
      最近更新 更多