精华内容
下载资源
问答
  • R语言常见统计函数

    2021-01-07 08:21:05
    R语言常见统计函数 函数 描述 mean(x) 平均值 median(x) 中位数 sd(x) 标准差 var(x) 方差 mad(x) 绝对中位数 quantile(x,probs) 分位数 range(x) 值域 sum(x) 求和 diff(x,lag = n) 滞后差...
  • R语言PDF词频统计函数

    2020-10-22 16:44:23
    有关R语言对PDF词频统计的博客已很多,但有以下问题未解决: 对英文进行词频统计时,“a” “an” "it"等词汇无实际意义,数字的出现也会干扰词频统计。 未把相关代码整合成自定义函数,导致使用不方便。 二、代码...

    一、Introduction

    有关R语言对PDF词频统计的博客已很多,但有以下问题未解决:

    • 英文进行词频统计时,“a” “an” "it"等词汇无实际意义,数字的出现也会干扰词频统计。
    • 未把相关代码整合成自定义函数,导致使用不方便。

    二、代码

    hasdigit <- function(str){
      if(!is.character(str)){
        stop("'str' should be character.")
      }
      n <- nchar(str)
      for(i in 1:n){
        ch <- substr(str, i, i)
        if(ch>="0"&&ch<="9"){
          return(T)
        }
      }
      return(F)
    }
    
    wordstat.pdf <- function(file, lo=3, simplify=T, del_num=T){
      # lo: minimum word length
      # simplify: whether to delete simple words like "a", "an", "we", etc
      # del_num: whether to delete numbers
      if(!"pdftools" %in% .packages()){
        library(pdftools)
      }
      if(!"jiebaRD" %in% .packages()){
        library(jiebaRD)
      }
      if(!"jiebaR" %in% .packages()){
        library(jiebaR)
      }
      if(!"wordcloud2" %in% .packages()){
        library(wordcloud2)
      }
      
      text <- pdf_text(file)
      seg <- tolower(qseg[text])
      seg <- sort(seg, decreasing = TRUE)
      seg <- table(seg)
      
      # deplete namelist
      if(simplify){
        ex <- c("is","are","be","was","were","become","becomes","do","did","does","a","an","the",
                "can","will","would","could","should","may","might","have","has",
                "and","or","not","but","although","though","no","also","if","against","any",
                "for","on","off","from","to","of","in","by","like","as","at","about","up","down",
                "below","between","above","with",
                "many","more","much","most","better","worse","worst","best","good","bad",
                "it","them","its","their","we","you","our","this","that","these","those",
                "what","when","where","how","which","whose","why",
                "get","some","other","others")
        seg[ex] <- -1     
      }
      
      # deplete digit
      if(del_num){
        for (i in 1:length(seg)){
          if(hasdigit(names(seg)[i])){
            seg[i] <- -1
          }
        }  
      }
      seg <- seg[seg > lo]
      return(seg)
    }
    

    三、使用案例

    • 需要安装包:pdftools、jiebaRD、jiebaR、wordcloud2

    以雅思Simon考官撰写的Ideas for IELTS topics为例(从网站ielts-simon.com中可获取PDF),先运行【二、代码】,将两个函数导入R语言环境中,再运行下列代码:

    file <- "D:\\Ideas_for_IELTS_topics.pdf"
    res <- wordstat.pdf(file)
    wordcloud2(res, size = 1, shape = 'circle',color = 'random-light')
    

    结果如下:
    在这里插入图片描述可见Simon考官提供的雅思Part2素材中,children一词高频出现。

    参考资料https://blog.csdn.net/BEYONDMA/article/details/85465403

    展开全文
  • 数学函数 函数 描述 abs(x) 绝对值 sqrt(x) 平方根 ceiling(x) 不小于x的最小整数 floor(x) 不大于x的最大整数 trunc(x) 向0的方向截取的x中的整数部分 round(x,digits=n) 将x舍入为指定位的小数...
                              数学函数
    
    函数描述
    abs(x)绝对值
    sqrt(x)平方根
    ceiling(x)不小于x的最小整数
    floor(x)不大于x的最大整数
    trunc(x)向0的方向截取的x中的整数部分
    round(x,digits=n)将x舍入为指定位的小数
    signif(x,digits=n )将x舍入为指定的有效数字位数
    exp(x)指数函数
    log(x,base=n)对x取以n为底的对数
    log(x)取自然对数
    sin(x) cos(x) tan(x)正弦,余弦,正切函数
                                统计函数
    
    函数描述
    mean(x)平均数
    median(x)中位数
    sd(x)标准差
    var(x)方差
    sum(x)求和
    range(x)求值域
    mad(x)绝对中位差
    quantile(x,probs)求分位数
    diff(x,lag=n)滞后差分
    scale(x,center=TRUE,scale=TRUE)为数据对象x按列进行中心化或标准化
     y<-quantile(x,c(.3,.84))
      #求x的30%和84%分位点
    
     x<-c(1,5,23,29)
     diff(x)
    #滞后差分,lag用于指定滞后几项,,默认的lag值为1
    
    展开全文
  • R语言-频数统计函数

    2021-09-08 10:39:28
    R如何对数据进行分组 1. factor()函数 > mtcars$cyl <- factor(mtcars$cyl) > mtcars$cyl [1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4 Levels: 4 6 8 2. cut()函数 > cut...

    R如何对数据进行分组

    1. factor()函数

    > mtcars$cyl <- factor(mtcars$cyl)
    > mtcars$cyl
     [1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
    Levels: 4 6 8
    

    2. cut()函数

    > cut(mtcars$mpg,c(seq(10,50,10)))
     [1] (20,30] (20,30] (20,30] (20,30] (10,20] (10,20] (10,20] (20,30] (20,30] (10,20] (10,20]
    [12] (10,20] (10,20] (10,20] (10,20] (10,20] (10,20] (30,40] (30,40] (30,40] (20,30] (10,20]
    [23] (10,20] (10,20] (10,20] (20,30] (20,30] (30,40] (10,20] (10,20] (10,20] (20,30]
    Levels: (10,20] (20,30] (30,40] (40,50]
    

    R进行频数统计

    1. table()函数

    #一维数据的频数
    > table(mtcars$cyl)
    
     4  6  8 
    11  7 14 
    > table(cut(mtcars$mpg,c(seq(10,50,10))))
    
    (10,20] (20,30] (30,40] (40,50] 
         18      10       4       0 
    
    #二维数据的频数:一个空白对照,一个处理组
    > table(mtcars$cyl,mtcars$gear)
       
         3  4  5
      4  1  8  2
      6  2  4  1
      8 12  0  2
      
    #R语言中的with函数,把所有操作都限制在数据框上
    > with(mtcars,table(cyl,gear))				#强调用mtcars数据集中的数据
       gear
    cyl  3  4  5
      4  1  8  2
      6  2  4  1
      8 12  0  2
    #三维列联表
    > with(mtcars,table(cyl,gear,carb))
    , , carb = 1
    
       gear
    cyl 3 4 5
      4 1 4 0
      6 2 0 0
      8 0 0 0
    
    , , carb = 2
    
       gear
    cyl 3 4 5
      4 0 4 2
      6 0 0 0
      8 4 0 0
    
    , , carb = 3
    
       gear
    cyl 3 4 5
      4 0 0 0
      6 0 0 0
      8 3 0 0
    
    , , carb = 4
    
       gear
    cyl 3 4 5
      4 0 0 0
      6 0 4 0
      8 5 0 1
    
    , , carb = 6
    
       gear
    cyl 3 4 5
      4 0 0 0
      6 0 0 1
      8 0 0 0
    
    , , carb = 8
    
       gear
    cyl 3 4 5
      4 0 0 0
      6 0 0 0
      8 0 0 1
    

    2. xtabs()函数

    xtabs(formula = ~., data)
    formula:公式
    data:数据框

    #一维数据频数
    > xtabs(~cyl,mtcars)
    cyl
     4  6  8 
    11  7 14 
    
    #二维数据频数
    > xtabs(~cyl+gear,mtcars)
       gear
    cyl  3  4  5
      4  1  8  2
      6  2  4  1
      8 12  0  2
    #三维列联表
    > xtabs(~cyl+gear+carb,mtcars)
    
    #平铺式列联表
    > y <- xtabs(~cyl+gear+carb,mtcars)
    > ftable(y)
             carb 1 2 3 4 6 8
    cyl gear                 
    4   3         1 0 0 0 0 0
        4         4 4 0 0 0 0
        5         0 2 0 0 0 0
    6   3         2 0 0 0 0 0
        4         0 0 0 4 0 0
        5         0 0 0 0 1 0
    8   3         0 4 3 5 0 0
        4         0 0 0 0 0 0
        5         0 0 0 1 0 1
    

    R进行频率统计

    1. prop.table()函数

    > prop.table(table(mtcars$cyl))
    
          4       6       8 
    0.34375 0.21875 0.43750 
    > prop.table(table(cut(mtcars$mpg,c(seq(10,50,10)))))
    
    (10,20] (20,30] (30,40] (40,50] 
     0.5625  0.3125  0.1250  0.0000 
    

    对于二维连表,使用margin.table()和prop.table()按行或者按列计算边界频数与比例

    • margin.table()函数

    margin.table(x, margin = NULL)
    x:一个数组
    margin:一个向量,给出计算其和的边界。例如,对于矩阵1表示行,2表示列,c(1,2)表示行和列。

    > x <- xtabs(~cyl+gear,mtcars)
    #整个数组的频数
    > margin.table(x)
    [1] 32
    #行的频数
    > margin.table(x,1)
    cyl
     4  6  8 
    11  7 14 
    #列的频数
    > margin.table(x,2)
    gear
     3  4  5 
    15 12  5 
    #行和列的频数
    > margin.table(x,c(1,2))
       gear
    cyl  3  4  5
      4  1  8  2
      6  2  4  1
      8 12  0  2
    
    • prop.table()函数
    #按行进行统计
    > prop.table(x,1)
       gear
    cyl          3          4          5
      4 0.09090909 0.72727273 0.18181818
      6 0.28571429 0.57142857 0.14285714
      8 0.85714286 0.00000000 0.14285714
    #按列进行统计
    > prop.table(x,2)
       gear
    cyl          3          4          5
      4 0.06666667 0.66666667 0.40000000
      6 0.13333333 0.33333333 0.20000000
      8 0.80000000 0.00000000 0.40000000
    > prop.table(x)
       gear
    cyl       3       4       5
      4 0.03125 0.25000 0.06250
      6 0.06250 0.12500 0.03125
      8 0.37500 0.00000 0.06250
    
    • addmagrins()函数
    > addmargins(x)
         gear
    cyl    3  4  5 Sum
      4    1  8  2  11
      6    2  4  1   7
      8   12  0  2  14
      Sum 15 12  5  32
    > addmargins(x,1)
         gear
    cyl    3  4  5
      4    1  8  2
      6    2  4  1
      8   12  0  2
      Sum 15 12  5
    > addmargins(x,2)
       gear
    cyl  3  4  5 Sum
      4  1  8  2  11
      6  2  4  1   7
      8 12  0  2  14
    > addmargins(x,c(1,2))
         gear
    cyl    3  4  5 Sum
      4    1  8  2  11
      6    2  4  1   7
      8   12  0  2  14
      Sum 15 12  5  32
    
    展开全文
  • 一,数学函数 数学函数大多应用在标量上(单独的数值) 这些函数应用在数值向量,矩阵,数据框时,它们会作用于每个独立的值 常用的数学函数 函数 描述 abs(x) 绝对值 sqrt(x) 平方根 ceiling(x) 不小于x的最小整数...

    一,数学函数
    数学函数大多应用在标量上(单独的数值)
    这些函数应用在数值向量,矩阵,数据框时,它们会作用于每个独立的值
    常用的数学函数
    函数 描述
    abs(x) 绝对值
    sqrt(x) 平方根
    ceiling(x) 不小于x的最小整数(向上取整)
    floor(x) 不大于x的最大整数(向下取整)
    trunc(x) 向0的方向截取的x中的整数部分
    round(x,digits=n) 将x舍入为指定位数的小数
    signif(x,digits=n) 将x舍入为指定有效数字位数,signif(3.475,digits=2)返回值为3.4
    cos(x),sin(x),tan(x) 余弦,正弦,正切
    acos(x),asin(x), atan(x) 反余弦,反正弦,反正切
    cosh(x),sinh(x),tanh(x) 双曲余弦,双曲正弦,双曲正切
    acosh(x),asinh(x),atanh(x) 反双曲余弦,反双曲正弦,反双曲正切
    log(x,base=n) 对x取以n为底的对数
    exp(x) 指数函数

    二,统计函数
    很多函数都拥有可以影响最终结果的可选参数。
    如mean(x)函数,它的参数trim为丢弃最大和最小的指定百分比的数,na.rm为是否剔除缺失值等。
    统计函数
    函数 描述
    mean(x) 平均数
    median(x) 中位数
    sd(x) 标准差
    var(x) 方差
    mad(x) 绝对中位数
    quantile(x,probs) 求分位数。其中x为待求分位数的数值型向量,probs为一个由[0,1]之间的概率值组成的数值向量
    range(x) 求值域,返回向量的最大值及最小值,例如x<-c(1,2,3,4),range(x)返回c(1,4)
    sum(x) 求和
    diff(x,lag=n) 滞后差分,lag用以指定滞后几项。默认lag=1
    min(x) 求最小值
    max(x) 求最大值
    scale(x,center=TRUE,scale=TRUE) 为数据对象x按列进行中心化(center(TRUE))或标准化center=TRUE,scale=TRUE)
    例子

    x <- c(1,2,3,4,5,6,7,8)
    #利用统计函数求平均值和标准差
    mean(x)
    sd(x)
    #不利用函数求平均值和修正标准差
    n <- length(x)
    n
    meanx <- sum(x)/n
    
    css <- sum((x-meanx)^2)
    sdx <- sqrt(css/(n-1))
    #数据的标准化
    #默认情况下,函数scale()对矩阵或数据框的指定进行均值为0,标准差为1的标准化
    newdata <- scale(mydata)
    #对数据进行任意均值和标准差的标准化
    #对数据进行均值为M标准差为SD的标准化
    newdata <- scale(mydata)*SD + M
    #对指定列进行标准化
    #将列myvar进行均值为M标准差为SD的标准化
    newdata <- transform(mydata,myvar=scale(myvar)*SD +M)
    
    

    三,概率函数
    概率函数通常用来生成特征已知的模拟数据,以及在用户编写的统计函数中计算概率值
    在R中概率函数形如;
    [dpqr]distribution_abbreviation()
    其中[]中表示其所指分布的某一方面
    d=密度函数(density)
    p=分布函数(distribution function)
    q=分位数函数(quantile function)
    r=生成随机数(随机偏差)
    常用的概率函数如下
    分布名称 缩写
    Beta分布 beta
    二项分布 binom
    柯西分布 cauchy
    (非中心)卡方分布 chisq
    指数分布 exp
    F分布 f
    Gamma分布 gamma
    几何分布 geom
    超几何分布 hyper
    对数正太分布 lnorm
    Logistic分布 logis
    多项分布 multinom
    负二项分布 nbinom
    正态分布 norm
    泊松分布 pois
    Wilcoxon符号秩分布 signrank
    分布 t
    均匀分布 unif
    Weibull分布 Weibull
    Wilcoxon秩和分布 Wilcox

    例子

    #例子正太分布有关函数
    #在区间[-3,3]上绘制标准正太曲线
    #pretty()生成-3到3的30个等差值组成的向量
    x <- pretty(c(-3,3),30)
    y <- dnorm(x)
    plot(x,y,type="l",
         xlab="Normal Deviate",
         ylab = "Density",
         yaxs="i")
    
    #求位于z=1.96左侧的标准正太曲线下方面积是多少?
    pnorm(1.96)
    #求均值为500,标准差为100的正态分布的0.9分位点值为多少
    qnorm(0.9,mean=500,sd=100)
    #生成50个均值为50,标准差为10的正太随机数
    #第一个参数是生成的随机数的个数,第二个参数为正太分布的均值,第三个参数为正太分布的标准差
    rnorm(50,50,10)
    
    

    3.2,设定随机种子
    每次生成随机数即使设置的参数完全相同,得到的随机数也是不同的。
    这是因为每次生成随机数的随机种子是不同的。
    当我们想要在参数相同的情况下生成相同的随机数,就可以指定同一个随机种子来完成操作
    例子:

    #函数runif()用来生成0到1区间上服从均匀分布的伪随机数
    runif(5)
    #同样函数和参数生成的随机数也不同
    runif(5)
    #设定随机种子生成相同的随机数
    set.seed(1234)
    runif(5)
    #注意每次生成随机数时都需要重新设定随机种子这样才能生成相同的随机数
    #也就是说设定的随机种子是一次性的只对最近的随机数使用。之后还需要重新设定相同的随机种子
    set.seed(1234)
    runif(5)
    

    3.3,生成给定均值向量和协方差矩阵的多元正太分布数据
    ,使用MASS包中的murnorm()函数生成
    n为生成样本的大小,mean为均值向量,sigma为方差-协方差矩阵(或相关矩阵)
    mvrnorm(n,mean,sigma)

    例子

    library(MASS)
    #options()为环境设置函数,options(digits=3),设定R的整数表示能力为3位
    options(digits=3)
    set.seed(1234)
    mean <- c(230.7,146.7,3.6)
    sigma <- matrix(c(15360.8,6721.2,-47.1,
                      6721.2,4700.9,-16.5,
                      -47.1,-16.5,0.3),nrow=3,ncol=3)
    mydata <- mvrnorm(50,mean,sigma)
    mydata <- as.data.frame(mydata)
    
    head(mydata,n=10)
    
    展开全文
  • R语言学习笔记-统计函数

    千次阅读 2015-05-13 11:25:18
    R语言中有很多有用的统计函数。例如算术平均数: mean(x) 求x的平均数。 mean(x, trim=0.05, na.rm=TRUE) 则提供了截尾平均数,即丢弃了最大5%和最小5%的数据和所有缺失值后的算术平均数。 R提供的常用统计函数...
  • > runif(1) [1] 0.4875393 > runif(5) [1] 0.1195627 0.9152149 0.6146097 0.6743579 0.9497667
  • R语言描述性统计函数总结

    万次阅读 2019-08-01 16:24:07
    1, 使用summary()函数来获取描述性统计量 summary()函数提供了最大值,最小值,四分位数和数值型变量的均值以及因子向量和逻辑向量的频数统计 例子 myvars <- c("mpg","hp","wt") summary(mtcars[myvars]) mpg ...
  • R语言nchar函数统计字符串中字符个数实战 目录 R语言nchar函数统计字符串中字符个数实战 #基础语法 #nchar统计字符串中字符的个数 #nchar统计向量中每个字符创的字符数 #Error in nchar(x) : ‘nchar()’ ...
  • 欢迎关注小号:医学统计数据分析,今天我们来介绍一下医学统计学中常用统计学方法的R语言基本操作。 R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计...
  • > fivenum(mycars$mpg) [1] 10.40 15.35 19.20 22.80 33.90
  • 记录一下R语言常用的基础函数,备忘。持续更新 描述性分析 函数 说明 table() 计算频数 margin.table() 计算边沿频数 prop.table() 计算相对频率,频数比例 cut() 用于连续数据分组 max(),which.max...
  • R语言的各种统计分布函数

    千次阅读 2020-04-25 22:40:48
    转载自品略图书馆... R语言的各种统计分布函数 1.二项分布Binomial distribution:binom 二项分布指的是N重伯努利实验,记为X ~ b(n,p),E(x)=np,Var(x)=np(1-p) pbinom(q,size,prob), q是特定取值...
  • R语言用于数据分析的基本统计函数与基础可视化
  • lm()是R语言中经常用到的函数,用来拟合回归模型。它是拟合线性模型最基本的函数 lm()格式如下: fit<-lm(formula,data) 其中,formula指要拟合的模型形式,data是一个数据框,包含了用于拟合模型的数据。结果...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 80,085
精华内容 32,034
关键字:

r语言统计函数