首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在具有协变量的两个数据帧之间进行一系列t检验。

在具有协变量的两个数据帧之间进行一系列t检验。
EN

Stack Overflow用户
提问于 2018-10-17 02:25:23
回答 1查看 61关注 0票数 0

我有两个数据,一个是病人样本的协变量,另一个是样本的甲基化数据。我需要做t检验来比较按性别划分的甲基化数据。

我的数据看起来有点像--协变量:

代码语言:javascript
复制
        "patient"   "sex"   "ethnicity"
sample1    p1         0      caucasian
sample2    p2         1      caucasian
sample3    p3         1      caucasian
sample4    p4         0      caucasian
sample5    p5         0      caucasian
sample6    p6         1      caucasian

并继续到sample46

甲基化:

代码语言:javascript
复制
       sample1  sample2 sample3 sample4 sample5 sample6 sample7 sample8 sample9 sample10
probe1  0.1111  0.2222  0.3333  0.4444  0.5555  0.6666  0.7777  0.8888  0.9999  1.111
probe2  0.1111  0.2222  0.3333  0.4444  0.5555  0.6666  0.7777  0.8888  0.9999  1.111
probe3  0.1111  0.2222  0.3333  0.4444  0.5555  0.6666  0.7777  0.8888  0.9999  1.111
probe4  0.1111  0.2222  0.3333  0.4444  0.5555  0.6666  0.7777  0.8888  0.9999  1.111

等等,对于8万种不同的探针和46个不同的样本。因此,如果我想对前8个样本的甲基化数据和性别进行一系列的t检验,我是否可以指定:t.test(t(methylation[,1:8]) ~ covariates$sex)?或者有一种方法可以将示例名称(sample1,sample2.)绑定起来?(对不起,我对R和统计都很陌生)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-17 03:10:53

一个简单的方法是创建一个单一的data.frame methyl_cov_df,然后使用该公式。

下面是前6个样本的t.test示例,probe1值由sex (对所需样本的数量进行适当更改):

代码语言:javascript
复制
# combined data frame
methyl_cov_df <- cbind(t(methylation[,1:6]),covariates)

methyl_cov_df:

代码语言:javascript
复制
        probe1 probe2 probe3 probe4 patient sex ethnicity
sample1 0.1111 0.1111 0.1111 0.1111      p1   0 caucasian
sample2 0.2222 0.2222 0.2222 0.2222      p2   1 caucasian
sample3 0.3333 0.3333 0.3333 0.3333      p3   1 caucasian
sample4 0.4444 0.4444 0.4444 0.4444      p4   0 caucasian
sample5 0.5555 0.5555 0.5555 0.5555      p5   0 caucasian
sample6 0.6666 0.6666 0.6666 0.6666      p6   1 caucasian


# t.test by formula: slice the data.frame to use the number of samples: done for 6 below
t.test(formula = probe1~sex, data= methyl_cov_df[1:6,]) 

韦尔奇二样t检验

代码语言:javascript
复制
data:  probe1 by sex
t = -0.19612, df = 4, p-value = 0.8541
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
  -0.5613197  0.4872530
sample estimates:
  mean in group 0 mean in group 1 
0.3703333       0.4073667    

数据:

代码语言:javascript
复制
covariates <- read.table(text = '        "patient"   "sex"   "ethnicity"
sample1    p1         0      caucasian
           sample2    p2         1      caucasian
           sample3    p3         1      caucasian
           sample4    p4         0      caucasian
           sample5    p5         0      caucasian
           sample6    p6         1      caucasian', header = T)

methylation <- read.table(text = "       sample1  sample2 sample3 sample4 sample5 sample6 sample7 sample8 sample9 sample10
probe1  0.1111  0.2222  0.3333  0.4444  0.5555  0.6666  0.7777  0.8888  0.9999  1.111
probe2  0.1111  0.2222  0.3333  0.4444  0.5555  0.6666  0.7777  0.8888  0.9999  1.111
probe3  0.1111  0.2222  0.3333  0.4444  0.5555  0.6666  0.7777  0.8888  0.9999  1.111
probe4  0.1111  0.2222  0.3333  0.4444  0.5555  0.6666  0.7777  0.8888  0.9999  1.111", header = T)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52846437

复制
相关文章

相似问题

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