首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建一个函数,将数据帧的所有列作为r中的输入。

创建一个函数,将数据帧的所有列作为r中的输入。
EN

Stack Overflow用户
提问于 2016-12-20 07:41:21
回答 1查看 67关注 0票数 0

我有两个数据框架:“临床”表达式“

“临床”数据包含关于乳腺癌(rows)患者各种临床参数(列)的数据。“表达”包含关于乳腺癌(rows)患者表达基因水平(列)的数据。“表达式”dataframe中的列名是各种"gene.ID"

这两个数据文件都有相同的病人(行),并且仅在列中彼此不同。但是,每个dataframe中的行与其他dataframe的顺序并不完全相同。

我想测试和标出某一基因表达水平与队列中个体临床参数之间的相关性。

为了做到这一点,我试图创建一个函数:(1)接收这些数据和特定基因的gene.ID;(2)提取该基因的表达模式;(3)从两个数据中匹配患者;(4)检查所有的临床参数;(5)每次对另一个临床参数进行计算。

我的主要问题是“检查所有的临床参数”部分,虽然我非常肯定我的其余代码并不是更好。

到目前为止,我的代码如下所示:

代码语言:javascript
运行
复制
my_function <- function(clinical_data, expression_data, gene.ID){
  gene.ID <- (expression_data$gene.ID)      
  expression.pattern <- as.numeric(expression$gene.ID)
  matched.samples <- match(row.names(clinical), row.names(expression))
  for(i in names(clinical)){
  ***here will come an if statement***

我也认为我对"gene.ID“有一个严重的问题。

我想知道我的函数应该改变什么,这样一旦我写了if语句,它就能完成这项工作。

我希望我的问题足够清楚。

EN

回答 1

Stack Overflow用户

发布于 2016-12-20 08:52:46

这两个数据文件都有相同的病人(行),并且仅在列中彼此不同。但是,每个dataframe中的行与其他dataframe的顺序并不完全相同。

函数cbind允许您按列("c")连接(“绑定”)两个数据集。因为每个数据集都有相同的病人,但顺序不同,因此您需要首先对一个数据集的行进行排序,以匹配另一个数据集。

代码语言:javascript
运行
复制
cbind(clinical_data, expression_data[rownames(clinical_data), ])

现在,您只有一个data.frame,它包含了其余分析所需的所有内容。

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

https://stackoverflow.com/questions/41237111

复制
相关文章

相似问题

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