首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对数据框运行T.test,然后按col1和col3对结果进行分组

对数据框运行T.test,然后按col1和col3对结果进行分组
EN

Stack Overflow用户
提问于 2019-09-12 00:27:37
回答 1查看 29关注 0票数 0

大家好,我是R的新手,我正在尝试使用R的统计能力进行分析。下面是我拥有的数据框的示例

代码语言:javascript
复制
Gene_Name Expression Cell Type
Gene_1         1    A
Gene_1         1.1  A
Gene_1         1.2  A
Gene_2         2.1  A
Gene_2         2.1  A
Gene_2         2.1  A
Gene_3         3.1  A
Gene_3         3.2  A
Gene_3          3   A
Gene_1          2   B
Gene_1         2.1  B
Gene_1         2.2  B
Gene_2         3.1  B
Gene_2         3.2  B
Gene_2         3.3  B
Gene_3          1   B
Gene_3         1.1  B
Gene_3         1.2  B

我有一个数据框,里面有100个不同细胞系的10个基因的表达数据。每个细胞系中每个基因的表达都被检查了3次,这就是为什么我们要对重复进行t.test

我想在Gene_X上运行t.test (X=1,2,3,4,5...)在A,B,C型细胞中...我使用以下代码拆分数据

代码语言:javascript
复制
p <- split.data.frame(df, df$cell type) 

它根据单元格类型创建了数据帧列表。然后使用lapply对数据进行进一步分组,并创建按gene_name分组的数据帧列表

代码语言:javascript
复制
k<-lapply(p, function(x) {split.data.frame(x,x$Gene_Name)})

当我在K上运行t.test时,如下所示,我得到一个错误

代码语言:javascript
复制
ttest<-lapply(k, function(y){t.test(y,y[2])})

var(x)中出错: is.atomic(x)不为真

有人能给我解释一下我哪里做错了吗?我怎样才能改正?

谢谢你对我的帮助!

EN

回答 1

Stack Overflow用户

发布于 2019-09-12 04:14:37

我不清楚你想要测试的是什么假设。你能更详细地解释一下吗?拥有可重现的代码也会有所帮助--你张贴的内容显然不是你实际使用的,因为它包含语法错误。

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

https://stackoverflow.com/questions/57893313

复制
相关文章

相似问题

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