首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在R中的ifelse语句中从列中添加多个整数范围的值

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

Stack Overflow用户
提问于 2013-09-08 15:41:00
回答 2查看 9.4K关注 0票数 2

我正在处理基因组数据,我有关于核苷酸位置和它的保存分数的列(在一个数据中)。我有关于哪些核苷酸位置是内含子和哪些是外显子的数据。我想要创建第三列,并能够指定哪些区域是内含子(作为“内含子”)和哪些是外显子(作为“外显子”)。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-08 15:52:32

假设您有这样的数据框架:

代码语言:javascript
运行
复制
 d <- data.frame(position=round(runif(100, 1, 70000)))

您可以组合逻辑运算符:

代码语言:javascript
运行
复制
 d$status <- ifelse(( d$position >= 1000 & d$position <= 10200) | (d$position >= 17800 & d$position <= 21000) | (d$position >= 43000 & d$position <= 54000), 'INTRON', 'EXON')

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

代码语言:javascript
运行
复制
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')))
票数 5
EN

Stack Overflow用户

发布于 2021-08-01 05:44:31

假设表包含包括bmi在内的一些信息,则可以使用以下代码

x$normal_bmi<- ifelse(x$bmi>=18 & x$bmi<= 25,1,0)

然后

表(x$normal_bmi)

0 1

40 26

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18685519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档