R语言数据集

Python019

R语言数据集,第1张

1. 向量 Vector

    向量是用于储存数值型、字符型或逻辑型数据的一维数组。执行组合功能能的函数 可用来创建向量。

单个向量中的数据必须拥有相同的类型或模式(即数值型、字符型或逻辑型)。同一向量中无法混杂不同模式的数据。

2. 矩阵 Matrix

    矩阵是一个二维数组,知识每个元素都拥有相同的模式(数值型、字符型或逻辑型)。可通过函数 创建矩阵。

3. 数组 Array

    数组与矩阵类似,但是维度可以大于2。数组可通过 函数创建。

    数组是矩阵的一个自然推广。它们在编写新的统计方法时很有用。像矩阵一样,数组中的数据也只能拥有一种模式。从数组中选取元素的方法与矩阵相同。

4. 数据框 Data Frame

    这是R语言最常用的数据类型。不同的列可以包含不同模式的数据。每一列数据的模式必须相同,且必须等长。数据框可通过函数 创建。

5. 列表 List

    列表是一些对象(或成分)的有序集合。列表允许你整合若干(可能无关的)对象到单个对象名下。例如,某个列表中可能是若干向量、矩阵、数据框,甚至其他列表的组合。可以使用函数 创建列表。

    许多R的运行结果都是以列表的形式返回的。需要取出其中哪些成分由分析人员决定。

在第3章,讲到了矩阵matrix和向量vector,矩阵和向量都只能包含某一种数据类型,而在实际应用中,这种情况比较少见。

当我们做一项数据调查时,调查报告通常不可能只含有数值型数据或者字符型数据,而是包含各种数据类型(做分析时需要对目录数据进行编码,这部分内容会在python分析基础中讲到)。因此,我们需要一种新的容器类型——data frame。

有人把data frame翻译为数据帧,这种译法是不准确的,尤其是考虑到“帧”的定义和data frame的含义的差别。也有人完全按照字面意思把它翻译成数据框架,我感觉有些画蛇添足,把原本不难理解的东西复杂化。

本章主要讲了:

其实很简单,用一个例子就能解释明白:中学时老师统计的期末成绩单就是一个df,通常一个Excel表格中包含以下内容:

在实际操作中,我们通常读取一个Excel表单或者一个csv文件,并将这个文件赋值给一个变量(df或者data),后期对文件的操作可以通过变量名来进行。需要注意的是,df的每一行表示不同的观测对象,每一列表示一个定语或变量。在成绩单里,每个学生都是一个被观测的个体,而各科成绩表示不同的定语(Attribute),定语是用来描述观测对象的特征的。

下面我将采用R语言内置的数据集mtcars(motor trend car road tests)来做演示。

首先打开RStudio,用 data() 函数载入数据集:

通过前五行数据,我们可以看到,每行表示不同的汽车型号,列表示每个汽车型号的不同特征,例如排量,马力,气缸数等等。

通常在获取一个数据集后,我们需要了解它的结构,例如一共有几行,有哪些列,列的名字,每列的数据类型等。查看df的结构,需要 str() 函数。

输出结果表示,mtcars一共有32行(observations),和11列(variables)。

$符号后面是列名,一共11个,且mtcars中所有的数据类型都是numerical。

前面使用了内置数据集,接下来可以使用 data.frame() 自己创建一个,括号中填入不同的向量,这些向量必须包含相同的元素数量。

* 注意区分R和python在创建df时的不同语法

我们以太阳系内八大行星为例,建立一个df,包含行星的名字,类型(岩质行星还是气态巨行星),相对地球直径的比值,相对地球公转周期的比值以及是否含有星环(不止土星有星环)。

观察一下我们创建的df,不难发现每个向量就是df中的每一列。(在python中有类似的用法,即通过字典dictionary创建df,参见python教程。)

跟矩阵和向量类似,我们可以选择df的特定行和 / 或列。利用中括号,在逗号的左边填入想选择的行,右边填入列。这个用法跟前面矩阵的元素选择重复,这里就省略了。

这里介绍另外一种方法,只用列名选择某个特定的列:

df$colname

输出的结果是一个向量,可以用 class() 函数验证向量元素的类型。

更进一步,如果我们想选出有星环的行星,可以通过以下操作:

可以看出,我们筛选出了 rings 列中,值为 TRUE 的所有行。

那么能否筛选不带星环的行星?

方法很简单,只需要在中括号中加入一个 !

* 注意:由逻辑值组成的列通常被用来筛选符合某些条件的行,若没有由逻辑值组成的列,我们可以通过逻辑运算符自己建立一个筛选标准

现在我们尝试找出影响行星是否有星环的因素。

对比这两个结果,可以发现太阳系中的岩态行星都没有星环,而气态巨行星都有星环。因此我们可以猜测,影响一个行星是否有星环的因素是行星的类型。当然这只是一个假设,要想验证这个假设在银河系甚至可观测宇宙是否成立,我们需要更多数据来进行 假设检验 ,这部分的内容需要懂点统计学,后面会讲到。

上一步实际上是给我们的数据集创建了一个子集,用来过滤掉一部分不需要i的数据。现在介绍一种更高效、更普适的方式:

借助第二个arg,我们可以根据“某些条件”来选择。这里的条件覆盖较广的范围,不再局限于逻辑值。

* 注意:这里的‘单等于号’表示赋值,‘双等于号’表示逻辑判断

现在试试用numerical数据作为筛选条件,选出直径比地球直径大的行星:

排序要用到 order() 函数:

* 注意:decreasing默认为假,也就是说如果不填这个arg, order() 函数会进行升序排列

R,线性回归)R语言里的模型诊断图(Residuals vs Fitted,Normal QQ , Scale-Location ,Residuals Leverage)

线性回归,是概率统计学里最重要的统计方法,也是机器学习中一类非常重要的算法。线性模型简单理解非常容易,但是内涵是非常深奥的。尤其是线性回归模型中的Diagnostics plot的阅读与理解一直被认为是线性回归中的一个难点。 在任何线性模型中,能够直接“lm”(模型有意义),既要考虑各个参数的t-test所得出的p-value,也要考虑总体模型F-检验得出的p-value。...

查看原文

广义相加模型(GAM)及R实现

dimensionality)。 R中的实现主要有两个包:gam和mgcv,前者为旧版本的包,后者为新版本。两个包的基本建模过程是相似的(两个函数都是gam 要小心同时加载两个库),但幕后计算方法不同,优化和模型的参数也...分析。 5.模型参数的解释 以下面例子为例: 结果为 Day的影响水平p-value=0.473,解释能力为14.3%,说明影响不明显。 其中,edf为自由度,理论上,当自由度接近1时,表示是线性

如何用R语言做线性回归?

说明:斜体为R语言代码 01数据准备:下载数据集 在进行线性回归模拟之前,我们需先准备具有线性关系的数据集。 这里以机械工业出版社出版出版的丘祐玮著的《数据科学:R语言实现 (数据科学与工程技术丛书...的优劣,一元线性回归中R方等于皮尔逊积矩相关系数(Pearson product moment correlation coefficient 或Pearson’s r)的平方。这种方法

R in action读书笔记(9)-第八章:回归 -回归诊断

”( Residuals vs Fitted,左上)中可以清楚的看到一个曲线关系,这暗示着你可能需要对回归模型加上一个二次项。 口同方差性若满足不变方差假设,那么在位置尺度图(Scale-Location Graph,左下)中,水平线周围的点应该随机分布。该图似乎满足此假设。最后一幅“残差与杠杆图”(Residuals vs Leverage,右下)提供了你可能关注的

主成分分析应用之主成分回归

整体拟合效果来看,R^2为0.8618,调整的R^2为0.7697,整体拟合效果可以通过。最后,p值为0.00198说明,拒绝原假设,即有理由认为回归模型从整体上拟合效果比较好。 下面针对系数通不过... R-squared: 0.8345 F-statistic: 26.2 on 3 and 12 DF, p-value: 1.49e-05 使用逆变换法,得到原始变量的回归方程: beta<

R语言 一元线性回归、多元线性、多项式回归

#Estimate 表示估计系数 # Std. Error表示估计系数的差异性,这个值要比估计系数小一个数量级 #t value 表示用于变量的回归系数是否对模型有帮助 #Pr(>|t|) 变量之间不相关的...关注微信号:小程在线 关注CSDN博客:程志伟的博客 R版本:3.6.1 本节主要介绍了一元线性回归、多元线性、多项式回归。 重点介绍了summary里面每个参数的意义; 创建训练集、测试集

智能推荐

MobileNetV2:Inverted Residuals and Linear Bottlenecks

论文阅读笔记 论文链接(CVPR2018)https://arxiv.org/abs/1801.04381 For example, the depthwise layer may work on a tensor with 144 channels, which the projection layer will then shrink down to only 24 channels. Thi...

MobileNetV2: Inverted Residuals and Linear Bottlenecks

MobileNetV2: Inverted Residuals and Linear Bottlenecks论文翻译 摘要 1. Introduction 2. Related Work 3. 预备知识 3.1 深度分离卷积(Depthwise Separable Convolutions) 3.2 线性瓶颈(Linear Bottlenecks) 3.3 倒残差(Inverted residua...

Leverage—杠杆真是个好的社会财富变速箱

首先我们必须承认金融创新与科技革命加速了社会资源的流速。举个例子,在封建社会如果一个贫农想要变为地主如果通过合法的手段可以需要几代的积累才能在一定的概率上成为现实,在现在的社会如果你足够聪明在杠杆较低的期货市场可以用20个交易日的时间使得自己从十万户,变为千万户。 金融创新使得人类有更多可以利用的工具,科技创新尤其是IT技术使得这种创新可以让更多人使用这个金融工具。从这个角度来讲杠杆无疑是加速了社...

【论文学习记录】MobileNetV2: Inverted Residuals and Linear Bottlenecks

这篇文章是对MobileNetV1的改进,论文原文《MobileNetV2: Inverted Residuals and Linear Bottlenecks》。 MobileNetV2延续了MobileNetV1的depthwise separable convolution,不同的是V2引入了一个linear bottlenecks的概念。因为depthwise convolution没有改...

MobileNetV2笔记:linear bottleneck与Inverted residuals

先讲Inverted residuals 就是普通卷积变为Depthwise Convolution+Pointwise Convolution,并且在前面增加一个1*1卷积升维,当然在做Pointwise Convolution的时候也会做相应降维 并且加了一个residuals的shortcut,这样就可以更多地叠加模块增加网络深度 为什么这么做? =》DW+PW的卷积减少了参数量,但会损失特...

猜你喜欢

论文阅读:MobileNetV2: Inverted Residuals and Linear Bottlenecks(MobileNetV2)

文章目录 1 摘要 2 存在问题 3 亮点 3.1 Linear Bottlenecks 3.2 Inverted residual block 3.4 总的结构体 4 部分结果 4.1 部分数据对比 4.2 部分效果对比 5 结论 5.1 优势 5.2 不足 6 参考资料 1 摘要 本文基于MobileNetV1(戳这可以先了解一下MobileNetV1)的缺陷提出了MobileNetV2结构,...

分形网络结构——FractalNet: Ultra-Deep Neural Networks without Residuals论文笔记

转自:http://blog.csdn.net/wspba/article/details/73251731 前言 自从ResNet提出以来,倍受人们的追捧,在ResNet基础上延伸出来的模型结构越来越多,如:Wide ResNet、ResNet in ResNet、Stochastic Depth ResNet等等,都取得了非常好的效果,而Residual的结构也被认为对于构建极深网络非常重要的...

【MobileNet V2】《MobileNetV2:Inverted Residuals and Linear Bottlenecks》

CVPR-2018 caffe 版本的代码:https://github.com/shicai/MobileNet-Caffe/blob/master/mobilenet_v2_deploy.prototxt caffe 代码可视化工具:http://ethereon.github.io/netscope/#/editor 文章目录 1 Background and Motivation 2 Ad...

【FractalNet】Ultra-Deep Neural Networks Without Residuals (2017) 全文翻译

作者 Gustav Larsson(University of Chicago,[email protected]) Michael Maire(TTI Chicago,[email protected]) Gregory Shakhnarovich(TTI Chicago,[email protected]) 摘要 提出了一种基于自相似性的神经网络宏结构设计策略。重复应用一个简单的扩展规则生成深...

must set key for <rc-animate> children问题

在使用React开发的时候,其中数据回显的时候用到了upload组件回显图片,遇到这个问题 发现是图片数组长度虽然不为0,但是里面的参数没有值,所以组件回显遍历的时候不成功!提示这种错误 修改方法 判断没有传图片的时候 我觉得出现这种情况的原因是新增的时候没有判断图片数组为空的时候不传给后端,所以有个默认为空的时候...