美文网首页
学习R-描述性统计

学习R-描述性统计

作者: Courage_c2bc | 来源:发表于2019-11-28 19:15 被阅读0次

    1 sapply

    > mydata <- read.csv("exp.csv",header = T,sep = ",") #表达量矩阵,首行为表头
    > class(mydata)    
    [1] "data.frame"
    > sapply(mydata,mean,na.rm=TRUE)   #获得数据框每列的平均值
    gene_id        R1        R2        R3        G1        G2        G3 
       NA   7.29500   6.24375  19.65438 124.26750  55.18437 232.05312 
    `Warning message:`
    ` In mean.default(X[[i]], ...) : 参数不是数值也不是逻辑值:回覆NA`
    

    sapply还可以使用mean, sd, var, min, max, median, range, quantile,但是数据类型不同.

    2 summary

    > summary(mydata)
    #获得mean,median,25th and 75th quartiles,min,max
    

    3 fivenum()

    > fivenum(x, na.rm = TRUE)
    

    x 为数值型向量,可以包含NA以及Inf,-Inf
    na.rm = TRUE 默认将NA和NaN去除,但是Inf还保留。
    fivenum()函数返回5个值:Tukey min,lower-hinge, median,upper-hinge,max。要注意这里的两个hinge与分位数不同。
    比如1:10

    > fivenum(1:10)
    [1]  1.0  3.0  5.5  8.0 10.0
    

    fivenum取中间两个数5,6取平均值得到中位数5.5,然后从1,2,3,4,5.5中取中位数得到3即为lower-hinge。

    4 使用Hmisc包

    > library(Hmisc)
     > describe(mydata) 
    # n, nmiss, unique, mean, 5,10,25,50,75,90,95th percentiles 
    # 5 lowest and 5 highest scores
    

    5 使用pastecs包

    > library(pastecs)
    > stat.desc(mydata) 
    # nbr.val, nbr.null, nbr.na, min max, range, sum, 
    # median, mean, SE.mean, CI.mean, var, std.dev, coef.var
    

    6使用psych包

    >library(psych)
    >describe(mydata)
    # item name ,item number, nvalid, mean, sd, 
    # median, mad, min, max, skew, kurtosis, se
    

    按分组变量汇总信息

    > library(psych)
    > describe.by(x, group=NULL,mat=FALSE,type=3,...)
    

    7 使用doBy包

    > library(doBy)
    > summaryBy(mpg + wt ~ cyl + vs, data = mtcars, 
     >  FUN = function(x) { c(m = mean(x), s = sd(x)) } )
    # produces mpg.m wt.m mpg.s wt.s for each 
    # combination of the levels of cyl and vs
    

    相关文章

      网友评论

          本文标题:学习R-描述性统计

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