R语言描述统计(数值方法)

前言

描述统计(Descriptive statistics)是描述总结观察对象的基本特征的统计方法的总称。数值方法指利用数据进行观察量位置,离散程度的描述。

连续型变量均值计算

自编函数进行均值和五数计算

function(x,na.omit=FALSE){
    if(na.omit)
        x <- x[!is.na(x)]
    m <- mean(x)
    sd <- sd(x)
    min <- min(x)
    max <- max(x)
    Q <- quantile(x)
    return(c(mean=m,std=sd,min=min,max=max,quantile=Q))
}
attach(df)
stata <- c("X","Y","D")	#写入需要进行计算的变量
outcome <- sapply(df[stata],describestat)
detach(df)

自编函数进行均值和标准差计算

function(x,parametric=TRUE,print=FALSE){
    if(parametric){
        center <- mean(x);spread <- sd(x)
    }else{
        center <- median(x);spread <- mad(x)
    }
    if(print & parametric){
        cat("Median=",center,"\n","MAD=",spread,"\n")
    }
    result <- list(center=center,spread=spread)
    return(result)
}

使用R自带包进行均值计算

Hmisc包

describe()1计算描述统计量

library(Hmisc)
Var <- c("mpg")
describe(mtcars[Var])
mtcars[Var] 

# 1  Variable      32  Observations
# ----------------------------------------------------------
#     mpg 
# n  missing distinct     Info     Mean      Gmd 
# 32        0       25    0.999    20.09    6.796 
# .05      .10      .25      .50      .75      .90 
# 12.00    14.34    15.43    19.20    22.80    30.09 
# .95 
# 31.30 
# 
# lowest : 10.4 13.3 14.3 14.7 15.0, highest: 26.0 27.3 30.4 32.4 33.9
# ----------------------------------------------------------

psych 包

psych::describe()演示如下

psych::describe(test)
# 结果展示如下
                       vars  n  mean   sd median trimmed  mad min max range
分组                      1 20  1.00 0.00    1.0    1.00 0.00   1   1     0
考生姓名*                 2 20 10.05 5.48   10.5   10.06 6.67   1  19    18
性别*                     3 20  1.55 0.51    2.0    1.56 0.00   1   2     1
年龄                      4 20 24.35 1.27   24.0   24.25 1.48  22  27     5

tableone包

table1可以进行描述,亦可进行分组描述

table1(~ x1+x2+x3|group, data=data,render.continuous=c(.="Mean±SD",.="Median [Min, Max]",.="Median [Q3-Q1]",.="Median[IQR]"))
# group为分组变量

table1(~ data$年龄|data$分组, data=data, render.continuous=c(.="Mean±SD",.="Median [Min, Max]",.="Median [Q3-Q1]",.="Median[IQR]"))

结果如下图所示:
table1统计描述结果展示

分类变量

R自带函数

table()函数,是R语言基础函数,不需要安装程序包

gmodels包

gmodels::CrossTable()函数

CrossTable(data$性别,data$分组,expected = T,format = "SPSS",fisher = T,prop.c = F,prop.t = F,prop.chisq = F)


  1. Robert I. Kabacoff.R语言实战[M].人民邮电出版社:北京,2016:131-136. ↩︎

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值