美文网首页生物信息杂谈生信修炼R
R为数据框求平均数和标准差并绘图

R为数据框求平均数和标准差并绘图

作者: LeoinUSA | 来源:发表于2018-10-25 00:49 被阅读9次

01. 准备数据

使用ggplot自带的ToothGrowth数据。导入数据及数据结构如下

library(ggplot2)
df <- ToothGrowth
df$dose <- as.factor(df$dose)
head(df)
##    len supp dose
## 1  4.2   VC  0.5
## 2 11.5   VC  0.5
## 3  7.3   VC  0.5
## 4  5.8   VC  0.5
## 5  6.4   VC  0.5
## 6 10.0   VC  0.5

接下来我们利用这个数据绘制带有标准差的直方图。

02. 计算函数

首先我们需要做一个函数计算分组计算我们感兴趣变量的平均数及标准差。

# function to calculate the mean and standard deviation for each group
# data: a data frame 
# varname: the name of a column containing the variable to be summarized
# groupnames: vector of column names to be used as grouping variable
data_summary <- function(data, varname, groupnames){
  require(plyr)
  summary_func <- function(x, col){
    c(mean = mean(x[[col]], na.rm = T),
      sd = sd(x[[col]], na.rm = T))
  }
  data_sum <- ddply(data, groupnames, .fun = summary_func, varname)
  data_sum <- rename(data_sum, c("mean" = varname))
  return(data_sum)
}

测试下新的函数功能

df2 <- data_summary(ToothGrowth, varname = "len", groupnames = c("supp", "dose"))
df2$dose <- as.factor(df2$dose)
head(df2)
##   supp dose   len       sd
## 1   OJ  0.5 13.23 4.459709
## 2   OJ    1 22.70 3.910953
## 3   OJ    2 26.06 2.655058
## 4   VC  0.5  7.98 2.746634
## 5   VC    1 16.77 2.515309
## 6   VC    2 26.14 4.797731

03. 绘图

使用ggplot2绘图

library(ggplot2)
# Default bar plot
p<- ggplot(df2, aes(x=dose, y=len, fill=supp)) + 
  geom_bar(stat="identity", color="black", position=position_dodge()) +
  geom_errorbar(aes(ymin=len-sd, ymax=len+sd), width=.2, position=position_dodge(.9)) 

# Finished bar plot
p+labs(title="Tooth length per dose", x="Dose (mg)", y = "Length")+
   theme_classic() +
   scale_fill_manual(values=c('#999999','#E69F00'))

相关文章

  • R为数据框求平均数和标准差并绘图

    01. 准备数据 使用ggplot自带的ToothGrowth数据。导入数据及数据结构如下 接下来我们利用这个数据...

  • R dplyr操作

    求交集、并集和差集 求两个数据框的交集 求两个数据框的并集(自动去除重复) 求两个数据框的并集,不去除重复

  • 【Q】Data Analysis

    1. 标准差:反正是我自己那个公式 2. 已知频数求中位数&平均数 3. 数据组距为0:看relative fre...

  • 赤裸裸的统计学(九):中心极限值定律

    整体有标准差,平均数。 抽样也有标准差,平均数。 抽样的平均数分布在整体平均数的左右,呈正态分布...

  • 方差与标准差

    标准差(StandardDeviation),也称均方差(meansquareerror),是各数据偏离平均数的距...

  • R语言入门笔记(2) - R语言科学计算

    R语言科学计算 分类统计 mean(),求平均值 min(),求最小值 sd(),求标准差 数组和矩阵 数组与矩阵...

  • 创建R的数据格式

    R软件自带了很多数据集(data set),并附有这些数据集的分析和绘图示例,可在学习R语言时使用。用data()...

  • 标准差,协方差,相关系数

    1.标准差 标准差定义是总体各单位标准值与其平均数离差平方的算术平均数的平方根。它反映组内个体间的离散程度 公式为...

  • 第二章 R与Bioconductor简介(一)

    提要本章我们将覆盖R的基本使用并开始处理Bioconductor中的数据包和工具。包含的主题有R的简单编程,R绘图...

  • R绘图函数

    R语言四大作图系统: 基础绘图系统 lattice包 ggplot2包 grid包 R绘图分类: 高级绘图(搭好框...

网友评论

    本文标题:R为数据框求平均数和标准差并绘图

    本文链接:https://www.haomeiwen.com/subject/pxwftqtx.html