精华内容
下载资源
问答
  • R语言-分组统计

    万次阅读 2015-10-26 09:36:12
    分组统计 1、假定有一组成绩数据,要求根据性别进行分组统计: > score  ID score1 score2 Gender 1 101 11.35321 0.9 male 2 102 12.58654 0.6 male 3 103 19.79380 0.9 female 4 104 12.01352 ...

    分组统计

    1、假定有一组成绩数据,要求根据性别进行分组统计:

    > score
        ID   score1 score2 Gender
    1  101 11.35321    0.9   male
    2  102 12.58654    0.6   male
    3  103 19.79380    0.9 female
    4  104 12.01352    0.4 female
    5  105 11.97081    0.4 female
    6  106 17.37480    0.7 female
    7  107 14.24884    0.3 female
    8  108 18.47972    0.8   male
    9  109 18.74792    0.8   male
    10 110 18.90146    0.7   male

    2、方法:使用aggregate(x, by, FUN)

    其中x是待折叠的数据对象,by是一个变量名组成的列表,这些变量将被去掉以形成新的观测,而FUN则是用来计算描述性统计量的标量函数,它将被用来计算新观测中的值。

    > aggregate(score[,c(2,3)],list(score[,4]),mean)
      Group.1   score1 score2
    1  female 15.08035   0.54
    2    male 16.01377   0.76

    score[,c(2,3)] 表示对score1和score2列进行分组统计

    list(score[,4])表示根据score第4列,也就是性别列进行分组统计。

    mean表示统计平均值。

    也可以写作下面的形式:

    > aggregate(score[,c(2,3)],list(score$Gender),mean)
      Group.1   score1 score2
    1  female 15.08035   0.54
    2    male 16.01377   0.76


    可选参考:

    library(dplyr)

    group_by(data, sex) %>% summarize_each(funs(mean), var1, var2, var3...)
    展开全文
  • R 语言分组统计

    千次阅读 2016-08-01 21:16:14
    分组计算描述性统计量 1.使用aggregate()分组获取描述性统计量。 aggregate(data,by=list(v1,v2),mean)这里的分组是用list()来区分。但这个有弊端,只能是单返回值函数。像mean,sd. 2.使用by() 分组计算描述...

    分组计算描述性统计量

    1.使用aggregate()分组获取描述性统计量。

    aggregate(data,by=list(v1,v2),mean)这里的分组是用list()来区分。但这个有弊端,只能是单返回值函数。像mean,sd.

    2.使用by() 分组计算描述性统计量。(不知道怎么都运行报错!!)

    语法 by(data,indices,fun)其中data是一个数据框或矩阵。这里fun可以是多返回值函数。

    data是一个数据框,indices 是一个因子或因子组成的列表。fun 可以是自己定义的函数。

    例:

    dstats<-function(x)(c(mean=mean(x),sd=sd(x)))

    by(mtcars[vars],mtcars$am,dstats)

    3.使用doBy包中的summaryBy() 分组计算概述统计量。

    library(doBy)

    summaryBy(mpg+hp+wt~am,data=mtcars,FUN=mystats) 其中FUN为自定义的函数。

    > summaryBy(mpg+hp~am,data=mtcars,FUN=fun1)
      am mpg.mean mpg.sd hp.mean hp.sd
    1  0       17    3.8     160    54
    2  1       24    6.2     127    84

    4.reshape包中的函数。melt ,cast

    dstats<-function(x)(c(n=length(x),mean=mean(x),sd=sd(x)))

    dfm<-melt(mtcars,measure.vars = c("mpg","hp","wt"),id.vars=c("am","cyl"))

    dcast(sfm, am+ cyl+ variable ~ .,dstats)

    Error in dim(ordered) <- ns : 
      dims [product 18] do not match the length of object [54]

    主要原因是:dcast() 里面的函数必须是返回单一值的函数,此处定义的是多个值的,因此报错,如果改成单个函数。

    > dcast(sfm, am+ cyl+ variable ~ .,mean)
       am cyl variable          .
    1   0   4      mpg  22.900000
    2   0   4       hp  84.666667
    3   0   4       wt   2.935000
    4   0   6      mpg  19.125000
    5   0   6       hp 115.250000
    6   0   6       wt   3.388750
    7   0   8      mpg  15.050000
    8   0   8       hp 194.166667
    9   0   8       wt   4.104083
    10  1   4      mpg  28.075000
    11  1   4       hp  81.875000
    12  1   4       wt   2.042250
    13  1   6      mpg  20.566667
    14  1   6       hp 131.666667
    15  1   6       wt   2.755000
    16  1   8      mpg  15.400000
    17  1   8       hp 299.500000
    18  1   8       wt   3.370000

    展开全文
  • R语言分组计算描述性统计量 在上一篇博客中介绍了如何计算数据整体的描述性统计量,点击查看。这里将注重介绍如何分组计算描述性统计量,介绍两个函数:aggregate()、dexcribe.by() 1、aggregate 这个函数的功能比较...
  • ] #把#号去掉可用 return(round(c(n=n,Miss=Miss,mean=m,stdev=s, skew=skew,kurtosis=kurt, Normal_ks=Normal_ks #Noraml_sh=Noraml_sh #把#号去掉可以用 ),3)) } #第一种分组统计法 b1 <- data %>% filter...
    可以直接复制到R运行
    #加载包
    library(tidyverse)
    #创建一系列数据
    data=data.frame(
      row.names = c('QWE','TYE','WUN','EJN','JDB',
                    'wuy','okf','Aqe','Bdf','wty') ,
      Chinese = c(50, 60, 64, 55, 59,
                  54, 61, 63, 64, 66 ),
      Math =  c(72, 68, NA, 29, NA,   #这里故意设置了缺失值
                45, 76, 74, 76, 75 ),
      gender = c(1, 2, 1, 2, 2, 2,1,1,2,1),  #1=男  2=女
      smoke = c('y','n','y','y','y','n','n','y','n','y'),
      bmi = c('正常','低体重','正常','超重','肥胖',
              '低体重','超重','正常','低体重','正常')
    )
    #自定义function内容
    describe<-function(x,na.omit=TRUE){     #na.omit=TRUE不忽略缺失指
      if (na.omit)
        Miss<-sum(is.na(x)==TRUE)    #统计缺失值个数
      x<-x[!is.na(x)]                #去掉缺失值,下面的都是去掉NA计算的
      m<-mean(x)
      n<-length(x)                   #全部数据(包括缺失值)
      s<-sd(x)
      skew<-sum((x-m)^3/s^3)/n
      kurt<-sum((x-m)^4/s^4)/n-3
      Normal_ks=ks.test(x,"pnorm")[["p.value"]]
      #Noraml_sh=shapiro.test(x)[["p.value"]]    #把#号去掉可用
      return(round(c(n=n,Miss=Miss,mean=m,stdev=s,
                     skew=skew,kurtosis=kurt,
                     Normal_ks=Normal_ks
                     #Noraml_sh=Noraml_sh       #把#号去掉可以用
                     ),3))
    }
    #第一种分组统计法
    b1 <- data    %>%
      filter(gender==1)  %>%
      select(Chinese,Math) %>%
      sapply(describe)
    b2 <- data    %>%
      filter(gender==2)  %>%
      select(Chinese,Math) %>%
      sapply(describe)
    cbind(b1,b2)  %>% print()
    #第二种分组统计
    describe_by<-function(x,na.omit=TRUE)sapply(x,describe,na.omit=TRUE)
    a=by(data[,c('Chinese','Math')],data$gender,describe_by)
    a
    cbind(a[["1"]],a[["2"]])
    #第三种方式
    describe_by<-function(x,na.omit=TRUE)sapply(x,describe,na.omit=TRUE)
    myvars <- c('Chinese','Math')
    by(data[myvars], 
       list(xingbie=data$gender,
            xiyan=data$smoke), 
       FUN=describe_by)
    #一些说明
    # ties should not be present for the Kolmogorov-Smirnov test
    #样本数据中存在有相同的值,单样本K-S检验要求检验分布是连续的,
    #而连续分布出现相同值的概率为0.如果是出现相同的,则连续分布的假设不成立,
    #则该方法无法使用
    
    展开全文
  • 笔者寄语:apply族功能强大,实用,可以代替很多循环语句,R语言中不要轻易使用循环语句。 函数名 功能 特点 apply 按行、列运算均值、求和、众数等 简单运算 tapply=table apply 在apply之上加入table功能,可以...



    每每以为攀得众山小,可、每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~

    ———————————————————————————



    笔者寄语:apply族功能强大,实用,可以代替很多循环语句,R语言中不要轻易使用循环语句。


    函数名功能特点
    apply按行、列运算均值、求和、众数等简单运算
    tapply=table apply在apply之上加入table功能,可以分组汇总table结合,可以分组汇总
    lapply=list apply都需要数据框格式,可以与list合用,返回仍是listlist用法
    sapply=simplify apply=unlist(lapply)都需要数据框格式,可以与list合用,返回是矩阵与lapply一样,但是可以输出矩阵格式



    apply

    Apply Functions Over Array Margins

    对阵列行或者列使用函数

    apply(X, MARGIN, FUN, ...)

    lapply

    Apply a Function over a List or Vector

    对列表或者向量使用函数

    lapply(X, FUN, ...)

    sapply

    Apply a Function over a List or Vector

    对列表或者向量使用函数

    sapply(X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)

    vapply

    Apply a Function over a List or Vector

    对列表或者向量使用函数

    vapply(X, FUN, FUN.VALUE, ..., USE.NAMES = TRUE)

    tapply

    Apply a Function Over a Ragged Array

    对不规则阵列使用函数

    tapply(X, INDEX, FUN = NULL, ..., simplify = TRUE)

    eapply

    Apply a Function Over Values in an Environment

    对环境中的值使用函数

    eapply(env, FUN, ..., all.names = FALSE, USE.NAMES = TRUE)

    mapply

    Apply a Function to Multiple List or Vector Arguments

    对多个列表或者向量参数使用函数

    mapply(FUN, ..., MoreArgs = NULL, SIMPLIFY = TRUE, USE.NAMES = TRUE)

    rapply

    Recursively Apply a Function to a List

    运用函数递归产生列表

    rapply(object, f, classes = "ANY", deflt = NULL,how = c("unlist", "replace", "list"), ...)



    1、apply函数

    对一个数组按行或者按列进行计算,矩阵纵、横运算(sum,average等)

    其中apply中,1等于行,2等于列

    > ma <- matrix(c(1:4, 1, 6:8), nrow = 2)
    > ma
         [,1] [,2] [,3] [,4]
    [1,]    1    3    1    7
    [2,]    2    4    6    8
    > apply(ma, c(1,2), sum)
         [,1] [,2] [,3] [,4]
    [1,]    1    3    1    7
    [2,]    2    4    6    8
    > apply(ma, 1, sum)
    [1] 12 20
    > apply(ma, 2, sum)
    [1]  3  7  7 15

    > tapply(1:17, fac, sum, simplify = FALSE)
    $`1`
    [1] 51
    $`2`
    [1] 57
    $`3`
    [1] 45
    $`4`
    NULL
    $`5`
    NULL
    > tapply(1:17, fac, range)
    $`1`
    [1]  1 16
    $`2`
    [1]  2 17
    $`3`
    [1]  3 15
    $`4`
    NULL
    $`5`
    NULL


    2、tapply

    (进行分组统计)

    tapply(X, INDEX, FUN = NULL, ..., simplify = TRUE)
    #把x在index分类下进行fun
    #例:把x在因子分类下,进行汇总操作
    fac <- factor(rep(1:3, length = 4), levels = 1:5)
    fac
    [1] 1 2 3 1
    Levels: 1 2 3 4 5
    tapply(1:4, fac, sum)
    1  2  3  4  5 
    5  2  3   NA NA 
    
    



    #当index不是因子时,可以用as.factor()把参数强制转换成因子

    
     

    额外案例,实现excel中数据透视表的功能

    #利用tapply实现类似于excel里的数据透视表的功能:
    > da
       year province sale
    1  2007        A    1
    2  2007        B    2
    3  2007        C    3
    4  2007        D    4
    5  2008        A    5
    6  2008        C    6
    7  2008        D    7
    8  2009        B    8
    9  2009        C    9
    10 2009        D   10
    > attach(da)
    > tapply(sale,list(year,province))   #以sale为基,按照year,province的顺序,排列
     [1]  1  4  7 10  2  8 11  6  9 12
    > tapply(sale,list(year,province),mean)
          A  B C  D
    2007  1  2 3  4
    2008  5 NA 6  7
    2009 NA  8 9 10


    3、函数table(求因子出现的频数)

    使用格式为:
    table(..., exclude = if (useNA == "no") c(NA, NaN), useNA = c("no",
        "ifany", "always"), dnn = list.names(...), deparse.level = 1)
    其中参数exclude表示哪些因子不计算。
    示例代码:
    > d <- factor(rep(c("A","B","C"), 10), levels=c("A","B","C","D","E"))
    > d
     [1] A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C
    Levels: A B C D E
    > table(d, exclude="B")
    d
     A  C  D  E
    10 10  0  0



    4、函数lapply与函数sapply

    每一列数据采用同一种函数形式,比如求X变量得分位数,比如求X变量的循环函数。

    lapply的使用格式为:

    lapply(X, FUN, ...)

    lapply的返回值是和一个和X有相同的长度的list对象,

    这个list对象中的每个元素是将函数FUN应用到X的每一个元素。

    其中X为List对象(该list的每个元素都是一个向量),

    其他类型的对象会被R通过函数as.list()自动转换为list类型。



    函数sapply是函数lapply的一个特殊情形,对一些参数的值进行了一些限定,其使用格式为:

    sapply(X, FUN,..., simplify = TRUE, USE.NAMES = TRUE)

    sapply(*, simplify = FALSE, USE.NAMES = FALSE) 和lapply(*)的返回值是相同的。

    如果参数simplify=TRUE,则函数sapply的返回值不是一个list,而是一个矩阵;

    若simplify=FALSE,则函数sapply的返回值仍然是一个list。

     x <- list(a = 1:10, beta = exp(-3:3), logic = c(TRUE,FALSE,FALSE,TRUE))
    > lapply(x, quantile)
    $a
       0%   25%   50%   75%  100%
     1.00  3.25  5.50  7.75 10.00
    
    $beta
             0%         25%         50%         75%        100%
     0.04978707  0.25160736  1.00000000  5.05366896 20.08553692
    
    $logic
      0%  25%  50%  75% 100%
     0.0  0.0  0.5  1.0  1.0
    
    > sapply(x, quantile,simplify=FALSE,use.names=FALSE)
    $a
       0%   25%   50%   75%  100%
     1.00  3.25  5.50  7.75 10.00
    
    $beta
             0%         25%         50%         75%        100%
     0.04978707  0.25160736  1.00000000  5.05366896 20.08553692
    
    $logic
      0%  25%  50%  75% 100%
     0.0  0.0  0.5  1.0  1.0
    #参数simplify=TRUE的情况
    > sapply(x, quantile)
             a        beta logic
    0%    1.00  0.04978707   0.0
    25%   3.25  0.25160736   0.0
    50%   5.50  1.00000000   0.5
    75%   7.75  5.05366896   1.0
    100% 10.00 20.08553692   1.0

    5、函数mapply

    函数mapply是函数sapply的变形版,mapply 将函数 FUN 依次应用每一个参数的第一个元素、第二个元素、第三个元素上。函数mapply的使用格式如下:

    mapply(FUN, ..., MoreArgs = NULL, SIMPLIFY = TRUE,USE.NAMES = TRUE)

    其中参数MoreArgs表示函数FUN的参数列表。


    > mapply(rep, times=1:4, x=4:1)
    [[1]]
    [1] 4
    
    [[2]]
    [1] 3 3
    
    [[3]]
    [1] 2 2 2
    
    [[4]]
    [1] 1 1 1 1
    
    #直接使用函数rep的结果:
    > rep(1:4,1:4)
     [1] 1 2 2 3 3 3 4 4 4 4


    6、vapply {base}——按变量进行函数操作


    vapply类似于sapply函数,但是它的返回值有预定义类型,所以它使用起来会更加安全,有的时候会更快。

    在vapply函数中总是会进行简化,vapply会检测FUN的所有值是否与FUN.VALUE兼容,

    以使他们具有相同的长度和类型。类型顺序:逻辑、整型、实数、复数


    vapply(X, FUN, FUN.VALUE, ..., USE.NAMES = TRUE)


    X表示一个向量或者表达式对象,其余对象将被通过as.list强制转换为list

    simplify 逻辑值或者字符串,如果可以,结果应该被简化为向量、矩阵或者高维数组。

    必须是命名的,不能是简写。默认值是TRUE,若合适将会返回一个向量或者矩阵。如果simplify=”array”,结果将返回一个阵列。

    USE.NAMES  逻辑值,如果为TRUE,且x没有被命名,则对x进行命名。

    FUN.VALUE   一个通用型向量,FUN函数返回值得模板。


    > x<-data.frame(a=rnorm(4,4,4),b=rnorm(4,5,3),c=rnorm(4,5,3))
    > vapply(x,mean,c(c=0))
     a       b       c
     1.8329043  6.0442858 -0.1437202
    > k<-function(x)
    + {
    + list(mean(x),sd(x))
    + }
    > vapply(x,k,c(c=0))
    错误于vapply(x, k, c(c = 0)) : 值的长度必需为1,
     但FUN(X[[1]])结果的长度却是2
    > vapply(x,k,c(c=0,b=0))
    错误于vapply(x, k, c(c = 0, b = 0)) : 值的种类必需是'double',
     但FUN(X[[1]])结果的种类却是'list'
    > vapply(x,k,c(list(c=0,b=0)))
     a     b     c        
    c 1.832904 6.044286 -0.1437202
    b 1.257834 1.940433 3.649194 

    sapply与vapply函数之间的区别:

    > i39 <- sapply(3:9, seq)
    > i39
    [[1]]
    [1] 1 2 3
    
    [[2]]
    [1] 1 2 3 4
    
    [[3]]
    [1] 1 2 3 4 5
    
    [[4]]
    [1] 1 2 3 4 5 6
    
    [[5]]
    [1] 1 2 3 4 5 6 7
    
    [[6]]
    [1] 1 2 3 4 5 6 7 8
    
    [[7]]
    [1] 1 2 3 4 5 6 7 8 9
    
    > sapply(i39, fivenum)
         [,1] [,2] [,3] [,4] [,5] [,6] [,7]
    [1,]  1.0  1.0    1  1.0  1.0  1.0    1
    [2,]  1.5  1.5    2  2.0  2.5  2.5    3
    [3,]  2.0  2.5    3  3.5  4.0  4.5    5
    [4,]  2.5  3.5    4  5.0  5.5  6.5    7
    [5,]  3.0  4.0    5  6.0  7.0  8.0    9
    > vapply(i39, fivenum,
    +        c(Min. = 0, "1st Qu." = 0, Median = 0, "3rd Qu." = 0, Max. = 0))
            [,1] [,2] [,3] [,4] [,5] [,6] [,7]
    Min.     1.0  1.0    1  1.0  1.0  1.0    1
    1st Qu.  1.5  1.5    2  2.0  2.5  2.5    3
    Median   2.0  2.5    3  3.5  4.0  4.5    5
    3rd Qu.  2.5  3.5    4  5.0  5.5  6.5    7
    Max.     3.0  4.0    5  6.0  7.0  8.0    9





    7、eapply {base}


    eapply函数通过对environment中命名值进行FUN计算后返回一个列表值,用户可以请求所有使用过的命名对象。

    eapply(env, FUN, ..., all.names = FALSE, USE.NAMES = TRUE)

    env  将被使用的环境

    all.names  逻辑值,指示是否对所有值使用该函数

    USE.NAMES  逻辑值,指示返回的列表结果是否包含命名


    > require(stats)
    >
    > env <- new.env(hash = FALSE) # so the order is fixed
    > env$a <- 1:10
    > env$beta <- exp(-3:3)
    > env$logic <- c(TRUE, FALSE, FALSE, TRUE)
    > # what have we there?
    > utils::ls.str(env)
    a :  int [1:10] 1 2 3 4 5 6 7 8 9 10
    beta :  num [1:7] 0.0498 0.1353 0.3679 1 2.7183 ...
    logic :  logi [1:4] TRUE FALSE FALSE TRUE
    >
    > # compute the mean for each list element
    >        eapply(env, mean)
    $logic
    [1] 0.5
     
    $beta
    [1] 4.535125
     
    $a
    [1] 5.5
     
    > unlist(eapply(env, mean, USE.NAMES = FALSE))
    [1] 0.500000 4.535125 5.500000
    >
    > # median and quartiles for each element (making use of "..." passing):
    > eapply(env, quantile, probs = 1:3/4)
    $logic
    25% 50% 75%
    0.0 0.5 1.0
     
    $beta
          25%       50%       75%
    0.2516074 1.0000000 5.0536690
     
    $a
     25%  50%  75%
    3.25 5.50 7.75
     
    > eapply(env, quantile)
    $logic
      0%  25%  50%  75% 100%
     0.0  0.0  0.5  1.0  1.0
     
    $beta
             0%         25%         50%         75%        100%
     0.04978707  0.25160736  1.00000000  5.05366896 20.08553692
     
    $a
       0%   25%   50%   75%  100%
     1.00  3.25  5.50  7.75 10.00


    8、rapply {base}

    rapply是lapply的递归版本

    rapply(X, FUN, classes = "ANY", deflt = NULL, how = c("unlist", "replace", "list"), ...)

    X  一个列表

    classes  关于类名的字符向量,或者为any时则匹配任何类

    deflt  默认结果,如果使用了how=”replace”,则不能使用

    how  字符串匹配三种可能结果




    参考文献:

    菜鸟的成长的博客:http://blog.sina.com.cn/s/blog_6caea8bf0100xkpg.html




    ————————————————————————————————————————————————————————————

    拓展一:lapply的用法

    因为一直想不明白,所以最开始的时候都不太会使用这个函数来进行并行处理, 最近想明白,用了一下发现验证了我的想法。
    lapply中所要使用的函数,一定需要是输入为单一变量,输出为单一变量可以存至list中。
    同时,lapply(x,fun),这个x的格式很重要,如果灌入的是list,在使用的时候,其实是先把x[[1]],之后然后放入fun之中。也就是说,先拨开的list,然后再灌入。

    例如:
    a=function(x)[
    x=names(x)
    x[x=="a"]
    }
    lapply(y,a)

    从这段代码大致可以了解到,lapply精髓在输入与输出。
    输入应该单列,或者List格式的,整个多字节的数据框是不对的;
    输出也只能是某一种形式,可以保存到list中的,比如此时的字符形式。

    每每以为攀得众山小,可、每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~

    ———————————————————————————

    展开全文
  • R语言分组计算平均数、SE、SD等等

    万次阅读 2018-12-10 13:59:13
    1提出问题 数据处理时经常遇到这么一个问题...R语言实战二里面p131-136都是在讲基础统计,有兴趣自己去敲一遍。 这里说下一自我感觉用的随意方便的其中一种可以很好的解决分组计算的问题。 举例 1,像这样的数据...
  • R语言分组画条形图——qplot

    万次阅读 2020-04-09 19:19:44
    R语言对于统计图的绘制可以说是非常有效了,本文使用ggplot2包里的qplot函数绘制条形图。大家一快学习使用。那个对ggplot2语法不了解的同学也可以前来参观。因为该案例不会涉及太对的语法。 1、数据简介 本文的数据...
  • R语言分组计数

    千次阅读 2019-09-21 17:56:35
    分组计数 tapply(cancer.type.gender$Count,list(cancer.type.gender$Gender,cancer.type.gender$Project),sum) aggregate(x=cancer.type.gender[c('Count')], by = list(cancer.type.gender$Gend...
  • R语言里面,aggregate函数就可以办到。 ## S3 method for class 'data.frame' aggregate(x, by, FUN, ..., simplify = TRUE, drop = TRUE) 我们常用到的参数是:x, by, FUN。 x, 你想要计算的属性或者列。 by, 是...
  • R语言 分组排名

    2019-05-10 18:27:00
    table如下 ...#分组排名tb_sz <- tb_03 %>% group_by(BU) %>% mutate(rank = rank(gross_profit*(-1)))tb_xj <- tb_04 %>% group_by(BU) %>% mutate(rank = rank(compa...
  • R语言分组求均值

    千次阅读 2020-05-08 16:00:19
    R语言随手记 之 根据数据框的某一列对数据进行分组,按照分组对所有列求均值 用到的库 dplyr 代码如下 // R语言脚本 library(dplyr) datamean=group_by(mydata, group) %>% summarize_each(funs(mean)) // mydata...
  • R语言ggplot2分组条形图

    千次阅读 2020-10-31 10:01:37
    这里写目录标题1. 基本分组条形图2. 使柱子并排放置3. 改变条形图配色4. 使纵坐标呈现百分比5.... 语言 = rep(c('R','Python'),2), 比例 = c(0.8,0.2,0.1,0.9)) 现在想以专业为横坐标,比例为纵坐标,语言为组
  • (进行分组统计): 使用格式为: tapply(X, INDEX, FUN = NULL, ...,simplify = TRUE) 其中 X 通常是一向量; INDEX 是一个 list 对象,且该 list 中的每一个元素都是与 X 有同样长度的因子; FUN 是需要...
  • 我想按PIN列及vts列作为分组依据,以cls_seq作为统计依据求cls_seq列的较大值。 代码如下 ``` data1("C:/**/**/Desktop/user_click1.csv")head(data1) class(data1) ##查看data1属性 str(data1) ##查看data1...
  • R语言Tobit模型的分组回归

    千次阅读 2020-05-23 00:45:31
    R语言Tobit模型的分组回归 用R语言进行了2步的subset取子集 原始数据:cfps2014(样本量:37147) —— 去除缺省值后新数据为cfps14_all(样本量为:10353) cfps14_all<-subset(cfps2014, age!="NA" & ...
  • 按指定行进行分组计数 按指定字段进行分组:计数为一个字段下分几类:用长变宽函数pivot_wider() 按照制定顺序进行行排序:用一个带顺序的表控制合并表的关键字full_join() 按照制定顺序进行列排序:SELECT...
  • R语言 分组计算,不止group_by

    千次阅读 2020-05-04 15:32:21
    R自带数据集比较多,今天就选择一个我想对了解的mtcars数据集带大家学习一下R语言中的分组计算(操作)。 目录 1 dplyr包中的group_by联合summarize 1.1 group_by语法 1.2 summarise语法 1.3 group_by和...
  • R统计笔记(三) 分组统计的几种方法
  • 聚合函数与group by更相似,例如以上语句就表示按SEX、ID进行分组,结果如下: Group .1 Group .2 SALARY 1 男 1 30000 2 男 2 200 3 女 3 1200 4 女 4 3500 从以上的数据可以...
  • R语言分组数据处理

    万次阅读 2018-04-26 00:17:02
    在我们日常处理数据过程中,经常需要对分类或者分组数据进行相对应的函数处理,以下是个人觉得比较好用的几个函数。#分组变量的处理方法#tapply()函数#by()#aggregate()#plyr包#table()第一步:创建数据,常见数据...
  • 微信公众号:医学统计R语言如果你觉得对你有帮助,欢迎转发Logistic distribution is a continuous probability distribution in probability and statistics theory. It has two parameters and is defined for ...
  • R语言统计—频数统计

    万次阅读 2019-10-20 16:08:26
    R语言进行相关的频数的统计,用到的函数为table(): 以下举例说明 对以下表格进行频数统计,如下表: 首先,导入数据: data<-read.table("clipboard",header=T) 运行结果如下: (1)性别进行频数统计 sex&...
  • 欢迎关注小号:医学统计数据分析,今天我们来介绍一下医学统计学中常用统计学方法的R语言基本操作。 R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,526
精华内容 8,610
关键字:

r语言分组统计