R语言学习笔记(二)

今天主要学习了两个统计学的基本概念:峰度和偏度,并且用R语言来描述。

> vars<-c("mpg","hp","wt")
> head(mtcars[vars])
                   mpg  hp    wt
Mazda RX4         21.0 110 2.620
Mazda RX4 Wag     21.0 110 2.875
Datsun 710        22.8  93 2.320
Hornet 4 Drive    21.4 110 3.215
Hornet Sportabout 18.7 175 3.440
Valiant           18.1 105 3.460

> mystats <- function(x, na.omit = FALSE) {
    if (na.omit)
        x <- x[!is.na(x)]  #将缺失值置零,如果想单纯的忽略的话也ok
    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  #峰度
    return(c(n = n, mean = m, stdev = s, skew = skew, kurtosis = kurt))
}
> sapply(mtcars[vars], mystats)
               mpg          hp          wt
n        32.000000  32.0000000 32.00000000
mean     20.090625 146.6875000  3.21725000
stdev     6.026948  68.5628685  0.97845744
skew      0.610655   0.7260237  0.42314646  #mpg的偏度为+0.61,正态分布图往右偏kurtosis -0.372766  -0.1355511 -0.02271075  #mpg的峰度为-0.37,较正太分布平缓一些

 

再巩固一下几个概念:

1、正态分布:也叫高斯分布,用最浅显的话来说就是一种“中间多,两边少”的分布;反映在数据上,就是数值在所有数据中间的数量多,偏离中间的数据少;

2、偏度:偏度分布是正态分布的父集,即正态分布的偏度为0;右偏分布(正偏分布)的偏度>0,左偏分布(负偏分布)的偏度<0.如下图所示:

3、峰度:正态分布的偏度值为3;厚尾(峰度>3),瘦尾(峰度<3);主要是看概率密度函数的两侧(尾部):

时间: 2025-01-04 09:02:51

R语言学习笔记(二)的相关文章

R语言学习笔记

參考:W.N. Venables, D.M. Smith and the R DCT: Introduction to R -- Notes on R: A Programming Environment for Data Analysis and Graphics,2003. http://bayes.math.montana.edu/Rweb/Rnotes/R.html 前言:关于R 在R的官方教程里是这么给R下注解的:一个数据分析和图形显示的程序设计环境(A system for data

JavaScript--基于对象的脚本语言学习笔记(二)

第二部分:DOM编程 1.文档象模型(DOM)提供了访问结构化文档的一种方式,很多语言自己的DOM解析器. DOM解析器就是完成结构化文档和DOM树之间的转换关系. DOM解析器解析结构化文档:将磁盘上的结构化文档转换成内存中的DOM树 从DOM树输出结构化文档:将内存中的DOM树转换成磁盘上的结构化文档 2.DOM模型扩展了HTML元素,为几乎所有的HTML元素都新增了innerHTML属性,该属性代表该元素的"内容",即返回的某个元素的开始标签.结束标签之间的字符串内容(不包含其它

R语言学习笔记2——绘图

R语言提供了非常强大的图形绘制功能.下面来看一个例子: > dose <- c(20, 30, 40, 45, 60)> drugA <- c(16, 20, 27, 40, 60)> drugB <- c(15, 18, 25, 31, 40) > plot(dose, drugA, type="b") > plot(dose, drugB, type="b") 该例中,我们引入了R语言中第一个绘图函数plot.pl

Go语言学习笔记(二) [变量、类型、关键字]

日期:2014年7月19日 1.Go 在语法上有着类 C 的感觉.如果你希望将两个(或更多)语句放在一行书写,它们 必须用分号分隔.一般情况下,你不需要分号. 2.Go 同其他语言不同的地方在于变量的类型在变量名的后面.例如:不是,int a,而是 a int.当定义了一个变量,它默认赋值为其类型的 null 值.这意味着,在 var a int后,a 的 值为 0.而 var s string,意味着 s 被赋值为零长度字符串,也就是 "". 3.Go语言的变量声明和赋值 在Go中使

R语言学习笔记 之 可视化地研究参议员相似性

基于相似性聚类 很多时候,我们想了解一群人中的一个成员与其他成员之间有多么相似.例如,假设我们是一家品牌营销公司,刚刚完成了一份挂怒有潜力新品牌的研究调查问卷.在这份调查问卷中,我们向一群人展示了新品牌的几个特征,并且要求他们对这个新品牌的每个特征按五分制打分.同时也收集了目标人群的社会经济特征,例如:年龄.性别.种族.住址的邮编以及大概的年收入. 通过这份调查问卷,我们想搞清楚品牌如何吸引不同社会经济特征的人群.最重要的是,我们想要知道这个品牌是否有很大的吸引力.换个角度想这个问题,我们想看看

R语言学习笔记(二十一五):如何如何提升R语言运算的性能以及速度

在R中获得快速运行代码的方法 使用向量化运算 R语言的并行计算可以用parallel和foreach包 加快R运行速度还可以使用cmpfun()函数即字节码编译器 再者就是在R中调用C或C++ 同时还可以利用Rprof()来寻找代码的瓶颈 利用分块或者R包来管理内存 原文地址:https://www.cnblogs.com/xihehe/p/8318919.html

R语言学习笔记之: 论如何正确把EXCEL文件喂给R处理

前言: 应用背景兼吐槽 继续延续之前每个月至少一次更新博客,归纳总结学习心得好习惯. 这次的主题是论R与excel的结合,又称 论如何正确把EXCEL文件喂给R处理 分为: 1. xlsx包安装及注意事项 2.用vba实现xlsx批量转化csv 以及,这个的对象,针对跟我一样那些从R开始接触编程的,一直以来都是用excel做数据分析的人……编程大牛请轻拍 之所以要研究这个,是因为最近工作上接了个活,要把原来在excel端的报表迁移到R端,自动输出可视化图形,并制作PDF或PPT. 这个活可以分为

R语言学习笔记:基础知识

1.数据分析金字塔 2.[文件]-[改变工作目录] 3.[程序包]-[设定CRAN镜像] [程序包]-[安装程序包] 4.向量 c() 例:x=c(2,5,8,3,5,9) 例:x=c(1:100) 表示把1 - 100的所有数字都给x这个变量 5.查看x的类型:>mode(x) 6.查看x的长度:>length(x) 7.将两个向量组成一个矩阵: >rbind(x1, x2)  注:r是row的意思,即行,按行组成矩阵. >cbind(x1, x2)  注c是column的意思,

R语言学习笔记——日期时间处理

一.在利用R语言实际工作中,我们经常需要将字符串转换成时间,或者将时间转化成字符串,R语言和其他语言一样,你要告诉它如何转化?也就是告诉它format,它就可以正常的转化,但是在实际中,我碰到了一下几个很难注意的问题,先总结如下: 计算机如何理解日期:日期格式(也就是Date)表示为自1970年1月1日相对的数量,较1970-01-01更早的日期表示负值.(大部分语言都是这么处理的) 大部分语言有默认的日期格式,只要按照这个日期格式去转换字符串,计算机就能正确识别.如下: <span style