数据集中的不同变量(murders)

变量在R中也有不同的类型 , 我们需要区分数字与字符串 , 表格与简单的数字列表等不同类型 。 class函数可以帮助我们确定对象的类型 , 例如 , 将a赋值为2 , 再通过class函数查看a的类型 , 返回的是numeric(数字型);再比如 , 通过class函数查看函数ls的类型 , 返回的是function(函数型) 。
数据集中的不同变量(murders)
文章图片
01数据框(DataFrames)
除了我们常用到的变量和函数 , 在R中最为常见的存储数据集的方式是数据框(dataframes) 。 从概念上来说 , 我们可将dataframes视为表(tables) , 其中的行表示观测值(observations) , 列则是观测值对应的不同变量 。
我们可以将不同的数据类型组合成一个对象 , 因此dataframe对于数据集特别有用 。 大部分数据分析挑战都是从存储在数据框中的数据开始的 。 例如 , 我们可以通过library函数加载dslabs包 , 再通过data函数获取在dslabs中的数据集;与此同时 , 我们可以通过class函数查看数据集的类型(应为dataframe) 。
数据集中的不同变量(murders)
文章图片
如上图所示 , 我们已加载了一个名为“murders”的数据集或dataframe , 作为一个对象 , 该dataframe具体是什么 , 有什么样的数据呢?
首先 , 通过str函数 , 我们可查看对象(object)的结构 , 如下:
数据集中的不同变量(murders)
文章图片
通过str函数返回的信息 , 我们可以看到murders数据集有51个观测值和5个变量 , 并且5个变量的名称分别都列出来了 , 以符号“$”开始的state、abb、region、population、total 。
我们还可通过head函数来查看数据集的前6行数据信息:
数据集中的不同变量(murders)
文章图片
02访问数据(Accessingdata)
我们已经通过一些操作获取到所需的数据集 , 如何来访问其中的数据 , 或使用其中的数据呢?
就当前的示例而言 , 我们主要会访问数据集中的不同变量 , 或者说数据表的不同列 , 在此会用到存取器$ , 如下:
数据集中的不同变量(murders)
文章图片
以上代码可返回murders数据集中region这一列的数据 。 在返回的结果中数据条目前用数字“[1]、[4]、[7]……”标注了顺序 , 此顺序即为数据条目在数据集中的数据顺序 。
数据集中的不同变量(murders)】上面通过str函数可知道数据集有哪些列 , 另外一个函数可快速获取数据集的列名是names:
数据集中的不同变量(murders)
文章图片
03向量(Vectors)
我们把“murders$region”作为对象来看的 , 此对象并不是单个数字 , 而是有许多个数据信息组成 , 我们将这些称之为向量(vector) 。
单个的数字(视为一个对象)可说是一个向量 , 其大小为1;将pop定义为murders$population对象 , 用length函数查看pop , 是一个大小为51的向量 , 且类型为数字型:
数据集中的不同变量(murders)
文章图片
既然有数字型的向量 , 自然也会有其他类型的向量 , 因数据集不仅可存储数字型数据 , 也会有字符型数据等其他类型的数据 。
数据集中的不同变量(murders)
文章图片
数字型向量中每个数据条目一定是数字 , 而字符型向量中的所有数据条目则必是字符 。
另一向量类型是因子(factors) , 用于存储分类数据 , 在murders数据集中 , region便是factor类型的向量 。 这些地区“regions”是按照类别分的 , 此数据集中有四个类别 , 通过levels函数可查看: