R练习题(下) 2019-05-02

基于下午的统计可视化

  • 对前面读取的 RunInfo Table 文件在R里面探索其MBases列,包括 箱线图(boxplot)和五分位数(fivenum),还有频数图(hist),以及密度图(density)
rm(list = ls())#清空环境
options(stringsAsFactors = F)
df1 <- read.table(file = "SraRunTable.txt",header = T,sep = '\t')
boxplot(df1$MBases)#箱线图
fivenum(df1$MBases)#五分位数
hist(df1$MBases)#频数图
plot(density(df1$MBases))#密度图
  • 根据plate把关联到的 RunInfo Table 信息的MBases列分组检验是否有统计学显著的差异
    1.使用merge函数将两个表(RunInfo Table 文件,样本信息sample.csv)关联起来。
m <- merge(df1, df2, by.x = 'Sample_Name',by.y = 'Accession')
m1 <- m[, c("Title", "MBases")]
plate = unlist(lapply(m1[,1], function(x){
  +     x
  +     strsplit(x, "_")[[1]][3]
  + }))
table(plate)
t.test(m1[,2] ~ plate)#查看有无显著差异
  • 分组绘制箱线图(boxplot),频数图(hist),以及密度图(density)
boxplot(m1[,2] ~ plate)
  • 使用ggplot2把上面的图进行重新绘制。
m1 <- m1 %>%
  mutate(plate = plate)
Error in mutate(., plate = plate) : could not find function "mutate"
library(dplyr)
m2 <- m1 %>%
  mutate(plate = plate)
ggplot(m2, aes(x = m2$plate, y =m2$MBases, color = plate)) + geom_boxplot()
ggplot(m2, aes(x = m2$MBases,fill = m2$plate)) +geom_histogram()
ggplot(m2, aes(x = m2$MBases,fill = m2$plate)) +geom_density()
  • 使用ggpubr把上面的图进行重新绘制
ggboxplot(m2, x="plate", y="MBases", color = "plate",palette = c("#00AFBB", "#E7B800"), shape="plate")
  • 随机取384个MBases信息,跟前面的两个plate的信息组合成新的数据框,第一列是分组,第二列是MBases,总共是384*3行数据
down_load3=subset(m2,select=c(plate,MBases))#subset函数,从某一个数据框中选择出符合某条件的数据或是相关的列
down_load4=down_load3[sample(nrow(down_load3),384),]#sample函数可以完成随机抽样处理

参考同学:https://www.jianshu.com/p/7cb403d80eae
https://www.jianshu.com/p/1004b5f9be31
https://www.jianshu.com/p/c15be05f468d
https://www.jianshu.com/p/c07e67e2c757

写完初级作业后,对

  • merge关联
  • 根据plate把关联到的 RunInfo Table 信息的MBases列分组检验是否有统计学显著的差异
    理解得不清楚,不知道是怎么关联的,不懂plate什么意思

还得再刷一次视频啊!!

你可能感兴趣的:(R练习题(下) 2019-05-02)