我有两个数据,一个是病人样本的协变量,另一个是样本的甲基化数据。我需要做t检验来比较按性别划分的甲基化数据。
我的数据看起来有点像--协变量:
"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
甲基化:
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和统计都很陌生)
发布于 2018-10-17 03:10:53
一个简单的方法是创建一个单一的data.frame methyl_cov_df,然后使用该公式。
下面是前6个样本的t.test示例,probe1值由sex (对所需样本的数量进行适当更改):
# combined data frame
methyl_cov_df <- cbind(t(methylation[,1:6]),covariates)methyl_cov_df:
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检验
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 数据:
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)https://stackoverflow.com/questions/52846437
复制相似问题