我有一个很大的数据集,看起来像这样,我想知道是否有一个聪明的方法来应用t检验,在每一行,又名基因,并比较人类和小鼠之间的计数。
我想在每一行(人_A、人_B、人_C)与(小鼠_A、小鼠_B)进行竞争
human_A = rnorm(20, 10, 1)
human_B <- rnorm(20, 10, 2)
human_C <- rnorm(20, 20, 3)
mouse_A = rnorm(20, 5, 1)
mouse_B <- rnorm(20, 10, 2)
genes <- paste0("gene_",rep(1:20))
df <- data.frame(genes,human_A,human_B,human_C,mouse_A,mouse_B)
head(df)
#> genes human_A human_B human_C mouse_A mouse_B
#> 1 gene_1 8.482934 10.396456 21.88825 6.070031 6.136563
#> 2 gene_2 9.836256 13.170547 23.04314 4.247680 11.781652
#> 3 gene_3 9.280803 11.184282 19.64985 6.010297 6.430591
#> 4 gene_4 9.069052 8.884374 19.95509 4.633871 11.233594
#> 5 gene_5 8.059434 10.314406 20.45426 4.519976 6.357627
#> 6 gene_6 11.433998 13.497519 20.28876 4.904321 9.599483
创建于2023年1月15日,使用reprex v2.0.2
任何帮助和建议我都很感激
4条答案
按热度按时间jdg4fx2g1#
dplyr
的一种方法提取p值
数据
yduiuuwa2#
我们也可以这样说:
1.使用
pivot_longer
将数据放在正确的位置1.使用
group_split
创建列表1.使用
map_dfr
应用t迭代每个列表。test1.使用
broom
包中的tidy()
获得良好的输出bweufnob3#
这里有一个稍微不同的方法,我喜欢@andre-wildberg的回答,只是觉得这个方法可能是一个有用的替代方案。
hmae6n7t4#
使用
base R