Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R-使用Batlett';为数据帧中的每一列设置测试函数_R_Dataframe_Statistics_Hypothesis Test - Fatal编程技术网

R-使用Batlett';为数据帧中的每一列设置测试函数

R-使用Batlett';为数据帧中的每一列设置测试函数,r,dataframe,statistics,hypothesis-test,R,Dataframe,Statistics,Hypothesis Test,我有一个数据框,需要为其中的每一列应用bartlett.test()函数。如果可能,我需要使用apply()或sapply()函数运行它 我的示例数据如下: df <- data.frame(ENSG00000000003 = c(10, 50, 30, 40), ENSG00000000419 = c(20, 60, 100, 24), ENSG00000000457 = c(1, 10, 20, 70), group = c("yes","no","no","yes")) rownam

我有一个数据框,需要为其中的每一列应用
bartlett.test()
函数。如果可能,我需要使用
apply()
sapply()函数运行它

我的示例数据如下:

df <- data.frame(ENSG00000000003 = c(10, 50, 30, 40), ENSG00000000419 = c(20, 60, 100, 24), ENSG00000000457 = c(1, 10, 20, 70), group = c("yes","no","no","yes"))
rownames(df) <- c("sample01", "sample02", "sample03", "sample04")
df
         ENSG00000000003 ENSG00000000419 ENSG00000000457 group
sample01              10              20               1   yes
sample02              50              60              10    no
sample03              30             100              20    no
sample04              40              24              70   yes

df这里有一种使用
lappy()的方法


res这里有一种使用
lappy()的方法

res
pvalue <- bartlett.test(ENSG00000000003 ~ group, df)

pvalue

    Bartlett test of homogeneity of variances

data:  ENSG00000000003 by group
Bartlett's K-squared = 0.10672, df = 1, p-value = 0.7439
res <- lapply(df[,-4], bartlett.test, df$group)
ps  <- sapply(res, getElement, "p.value")
df  <- rbind(df, pval=c(ps, NA))
df
         ENSG00000000003 ENSG00000000419 ENSG00000000457 group
sample01      10.0000000      20.0000000       1.0000000   yes
sample02      50.0000000      60.0000000      10.0000000    no
sample03      30.0000000     100.0000000      20.0000000    no
sample04      40.0000000      24.0000000      70.0000000   yes
pval           0.7439055       0.1417199       0.1950732  <NA>
library(matrixTests)
ps <- col_bartlett(df[,-4], df$group)$pvalue
df <- rbind(df, pval=c(ps, NA))
df
         ENSG00000000003 ENSG00000000419 ENSG00000000457 group
sample01      10.0000000      20.0000000       1.0000000   yes
sample02      50.0000000      60.0000000      10.0000000    no
sample03      30.0000000     100.0000000      20.0000000    no
sample04      40.0000000      24.0000000      70.0000000   yes
pval           0.7439055       0.1417199       0.1950732  <NA>