r - 在 R 的 ifelse 语句中添加列中多个整数范围的值

标签 r if-statement dataframe

我正在处理基因组数据,并且我有关于核苷酸位置及其保守分数(在数据框中)的列。我有关于哪些核苷酸位置范围是内含子、哪些是外显子的数据。我想创建第三列,并能够指定哪些区域是内含子(如“INTRON”),哪些区域是外显子(如“EXON”)。

作为一个例子,假设在核苷酸位置 1-70000 中,我想将 10000-10200、17800-21000、43000-54000 指定为内含子,并在另一列中指定为外显子(假设数据)。有没有一种方法可以在 ifelse 函数中指定列中的多个值范围,因为这或多或少可以解决我的问题。有更好的方法吗?

最佳答案

假设您有这样的数据框:

 d <- data.frame(position=round(runif(100, 1, 70000)))

您可以组合逻辑运算符:

 d$status <- ifelse(( d$position >= 1000 & d$position <= 10200) | (d$position >= 17800 & d$position <= 21000) | (d$position >= 43000 & d$position <= 54000), 'INTRON', 'EXON')

或者您可以使用嵌套的 ifelse:

d$status <- ifelse(d$position >= 1000 & d$position <= 10200, 'INTRON', felse(d$position >= 17800 & d$position <= 21000, 'INTRON', ifelse(d$position >= 43000 & d$position <= 54000, 'INTRON', 'EXON')))

关于r - 在 R 的 ifelse 语句中添加列中多个整数范围的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18685519/

相关文章:

python - 在 python 中检查值是否更大、更小或等于零的更好方法

python - 从数据帧创建字典避免重复

python - 附加具有不同列名称的数据框 - Pandas

r - 在 R 图中使用 data.frame 的行名称?

r - 来自逻辑矩阵的紧凑字母显示

jQuery 检查 attr 是否=值

r - ggplot2 在 pdf、R 中嵌入所有使用的字体

Java:使用 If-Else 语句为网格列着色

r - datetime 无法从 chr 数据类型解析

r - 是否可以在 Shiny 的应用程序中初始化 ggplot 中的画笔?