r - 通过列名中出现的单个单词对数据框进行子集
问题描述
我是stackoverflow和R的新手,所以我希望我不违反任何礼仪:)
所以我有一个相当大的基因表达水平数据框架,expression
我想根据列名中出现的单词定义子集。
gene.adk1 gene.adk2 gene.adk3 gene.bas1 gene.bas2 etc
1 2 1 4 6
这只是数据框的一个小示例版本。我想要做的是定义一个子集仅包含标题中包含“adk”的列和标题中包含“bas”的列的另一个子集
我所做的是按字母顺序对列名进行排序并查看我的数据框以找出标题中包含“adk”的列数。然后我使用子集函数定义了子集:
adk <- subset.data.frame(expression, select = c(1:3))
有没有更优雅的方式来做到这一点?也许通过列名中的“adk”等单个词来定义子集?
提前致谢
马吕斯
解决方案
子集adk
:
adk <- expression[grepl("\\.adk", names(expression)]
子集bas
:
bas <- expression[grepl("\\.bas", names(expression)]
推荐阅读
- json - 使用 MatTable 更新动态表中的行
- node.js - 2021 年 2 月 15 日之后,我还能将 firebase 云功能迁移到 Node.js 10 吗?
- c# - 根据状态值获取学生列表
- html - ¿ 如何在标签部分中使用或添加两个或更多组件?
- json - 滚动浏览 json api 并找到值 true 或 false flutter
- pine-script - 交易视图上的自动交易买入
- c++ - 如何在继续使用 C++ MFC 之前等待变量为真?
- css - 容器中的动态 CSS 0:N 三角形
- python - 如何使用带有scrapy-requests和scrapy的代理
- postgresql - 无法使用 laravel 8 和 laragon 迁移或连接到 postgresql