当前位置: 首页 > 理工农林 >【分享】数据管理与分析实用经验

【分享】数据管理与分析实用经验

作者 学员762E0L
来源: 小木虫 1000 20 举报帖子
+关注

支持。祝新春快乐!

 返回小木虫查看更多

今日热帖
  • 精华评论
  • zwdbordeaux

    折线图的制作


    前面对数据作了柱状图,柱状图适用于x轴是分类数据的时候,比如本例的品种。当x轴是一系列数据的时候,比如说处理后的时间或者播种后的时间,这个时候更希望得到一种变化的趋势,所以折线图更加合适。为了显示如何做折线图,这个地方把播种日期作为数值来运用。
    #在group数据中添加一列播种日期,注意另外一个播种日期列的属性(mode)为factor,也就说他们会被认为是字符。
    group$date2<-rep(c(16,20,22),2)
    #为了添加误差线,需要运用plotrix这个包中的plotCI这个方程,所以先加载这个包。
    library(plotrix)
    #计算重量和VC含量的变化范围,这样可以方便定义Y轴的刻度范围(ylim)
    ran.wt<-range(cab$HeadWt)
    ran.vc<-range(cab$VitC)
    #同样的对图进行组合
    par(mfrow=c(2,1),mai=c(0,0,0,0),omi=c(0.6,0.6,0.1,0.1))
    #首先把图的框架画出来
    plot(group$date2,group$Meanwt,type="n",ylim=ran.wt,xaxt="n")
    #添加品种39的结果和它们的标准误差
    plotCI(x=group[group$Cul=="39","date2"],y=group[group$Cul=="39","Meanwt"],liw=group[group$Cul=="39","SEwt"],uiw=group[group$Cul=="39","SEwt"],pch=2,add=TRUE)
    #添加连接的折线
    lines(x=group[group$Cul=="39","date2"],y=group[group$Cul=="39","Meanwt"],lty=1,lwd=2)
    #添加品种52的数据点和标准误差
    plotCI(x=group[group$Cul=="52","date2"],y=group[group$Cul=="52","Meanwt"],liw=group[group$Cul=="52","SEwt"],uiw=group[group$Cul=="52","SEwt"],pch=0,add=TRUE)
    #添加折线
    lines(x=group[group$Cul=="52","date2"],y=group[group$Cul=="52","Meanwt"],lty=2,lwd=2)
    #添加小图标志
    text(16,4,"A",font=2)
    #添加图例
    legend(18,4,legend=c("CV39","CV52"),lty=c(1,2),pch=c(1,0),bty="n")
    #对vc含量进行类似操作。读者可以与之前比较看这些命令之间改动的地方,熟悉之后其实可以复制粘铁替换就轻松搞定了。
    plot(group$date2,group$Meanvc,type="n",ylim=ran.vc)
    plotCI(x=group[group$Cul=="39","date2"],y=group[group$Cul=="39","Meanvc"],liw=group[group$Cul=="39","SEvc"],uiw=group[group$Cul=="39","SEvc"],pch=2,add=TRUE)
    lines(x=group[group$Cul=="39","date2"],y=group[group$Cul=="39","Meanvc"],lty=1,lwd=2)
    plotCI(x=group[group$Cul=="52","date2"],y=group[group$Cul=="52","Meanvc"],liw=group[group$Cul=="52","SEvc"],uiw=group[group$Cul=="52","SEvc"],pch=0,add=TRUE)
    lines(x=group[group$Cul=="52","date2"],y=group[group$Cul=="52","Meanvc"],lty=2,lwd=2)
    text(16,80,"B",font=2)
    mtext("播种日期",side=1,adj=0.5,outer=TRUE,line=2)
    mtext("重量(kg)",side=2,at=0.75,adj=0.5,outer=TRUE,line=2)
    mtext("维他命含量(mg/kg)",side=2,at=0.25,adj=0.5,outer=TRUE,line=2),

  • zwdbordeaux

    线性相关分析及作图
    此处把两种相关性的分析和作图方法组合到一起,即运用所有观测值和运用均值。
    par(mfrow=c(2,1),mai=c(0,0,0,0),omi=c(0.6,0.6,0.1,0.1))
    #运用所有观测值作图和分析
    plot(cab$HeadWt,cab$VitC,type="n",xaxt="n")
    points(cab[cab$Cul=="c39","HeadWt"],cab[cab$Cul=="c39","VitC"],pch=1)
    points(cab[cab$Cul=="c52","HeadWt"],cab[cab$Cul=="c52","VitC"],pch=0)
    #线性模型的分析
    lm1<-lm(VitC~HeadWt,data=cab)
    #结果的总结
    summary(lm1)
    #在图中添加拟合的直线
    abline(lm1)
    添加方程
    text(1.7,47, "y=77.6-7.57x\n(P<0.0001,n=58)")
    legend("topright",legend=c("CV39","CV52"),pch=c(1,0),title="A")
    #运用均值作图
    plot(cab$HeadWt,cab$VitC,type="n")
    #添加x轴方向的误差线
    plotCI(x=group[group$Cul=="39","Meanwt"],y=group[group$Cul=="39","Meanvc"],err="x",liw=group[group$Cul=="39","SEwt"],uiw=group[group$Cul=="39","SEwt"],pch=2,add=TRUE)
    plotCI(x=group[group$Cul=="52","Meanwt"],y=group[group$Cul=="52","Meanvc"],err="x",liw=group[group$Cul=="52","SEwt"],uiw=group[group$Cul=="52","SEwt"],pch=0,add=TRUE)
    #添加y轴方向的误差线
    plotCI(x=group[group$Cul=="39","Meanwt"],y=group[group$Cul=="39","Meanvc"],err="y",liw=group[group$Cul=="39","SEvc"],uiw=group[group$Cul=="39","SEvc"],pch=2,add=TRUE)
    plotCI(x=group[group$Cul=="52","Meanwt"],y=group[group$Cul=="52","Meanvc"],err="y",liw=group[group$Cul=="52","SEvc"],uiw=group[group$Cul=="52","SEvc"],pch=0,add=TRUE)
    #对均值作线性拟合
    lm2<-lm(Meanvc~Meanwt,data=group)
    summary(lm2)
    abline(lm2)
    text(1.7,47, "y=87.5-11.4x\n(P<0.05,n=58)")
    legend("topright",legend="B",bty="n")
    mtext("重量(kg)",side=1,at=0.5,adj=0.5,outer=TRUE,line=2)
    mtext("维他命含量(mg/kg)",side=2,at=0.5,adj=0.5,outer=TRUE,line=2)

  • zwdbordeaux

    小结
    R的功能非常强大,这里仅仅给出了最经常运用到的一些操作。不过相信如果能把这里给出的代码全部弄懂会用,生态生理中的基本问题就都可以轻松解决了。当然,这些给出的代码可能不是最简单和最有效的,给出的另外一个目的也是在于让大家批评指正,共同提高。最后将所有代码整理放在一个.txt文件中,将它们复制到R中或者运用Tinn-R运行之后便可以得到给出的图。
    -----------------------------------
    需要完整代码者请留下邮件。

    请高手指出不足!

  • zwdbordeaux

    boxplot 箱图

    柱状图

    折线图

    简单的线性回归

    [ Last edited by zwdbordeaux on 2010-2-17 at 05:06 ]

  • mythbird

    真是学术界的活雷锋啊,勇赞!

  • yangling_yzc

    高手高手,学习了

  • jinyixiao


    谢谢分享!!!!!!!

  • cato8163

    小可,学过SAS,是用SAS分析完后,再用Excel制图。
    小可,想问楼主,与R软件的区别,各自的优缺点,或者R软件有什么特殊之处?

猜你喜欢
应助之星
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓