《R语言实战》读书笔记-- 创建数据集

Posted 季诗筱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《R语言实战》读书笔记-- 创建数据集相关的知识,希望对你有一定的参考价值。

按照个人要求的格式来创建含有研究信息的数据集,这是任何数据分析的第一步。在R中,这个任务包括以下两步:

  • 选择一种数据结构来存储数据;
  • 将数据输入或导入到这个数据结构中。

1、数据集的概念

数据集通常是hi有数据构成的一个矩形数组,行表示观测,列表示变量。
不同的行业对于数据集的行和列的叫法不同:
- 统计学家称他们为观测和变量
- 数据库分析师称其为记录和字段
- 数据挖掘和机器学习研究者叫它们示例和属性。

R中有许多用于存储数据的结构,包括标量、向量、数组、数据框和列表
R可以处理的数据类型包括数值型、字符型、逻辑型、复数型和原生型。

2 、 数据结构

R拥有许多用于存储数据的对象类型,包括标量、向量、矩阵、数组、数据框和列表。这里仅介绍我用到的知识:

2.1 向量

执行组合功能的函数c( )可以用来创建向量

a <- c(1,2,3,4,5)
b <- c("1","2","3","4","5")

Note:单个向量中的数据必须拥有相同的类型或模式(数值型、字符型或逻辑型),同一向量中无法混杂不同模式的数据
访问元素:
通过方括号中给定元素所处位置的数值,可以访问向量中的元素。如a[c(2,4)],用于访问a向量中的第二个和第四个元素

2.2 矩阵

矩阵是一个二维数组,通过函数matrix()创建

mymatrix <- matrix(vector, nrow = number_of_rows,ncol = number_of_columns,
                   byrow = logical_value, dimnames = list(
                   char_vector_rownames, char_vector_colnames))

其中,vector包含了矩阵的元素,nrow和ncol用来指定行和列的维数,dimnames包含了可能的、以字符型向量表示的行名和列名。byrow标明矩阵应该按照行填充,默认情况下按照列填充。
访问元素:
可以使用下标和方括号来选择矩阵中的行、列或元素

2.3 数组

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

myarray <- array(vector, dimensions, dimnames)

vector包含了数组中的数据,dimensions是一个数值型向量,给出了各个维度下标的最大值,dimnames是可选的、各维度名称标签的列表。

2.4 数据框

数据框将是在R中最常处理的数据结构。当数据有多重模式,无法将此数据集放入一个矩阵,这时候使用数据框是最佳选择,可通过data.frame( )创建

mydata <- data.frame(col1,col2,col3,...)

其中的col1,col2,…可以为任何类型,每一列的名称可以由函数names指定。每一列数据的模式必须唯一,不过却可以将多个模式的不同列放在一起组成数据框,如下:

选择数据框中的元素:

3、 数据输入

3.1 从带分隔符的文本文件导入数据

可以使用read.table( )从带分隔符的文本文件中导入数据。

mydataframe <- read.table(file,options)

其中,file是一个带分隔符的ASCII文件,options是控制如何处理数据的选项。可以通过?read.table命令查阅数据输入函数的说明
file可以是:

  • 绝对路径或者相对路径,R语言中\\是转义字符,所以路径分隔符必须写成 \\
  • 使用file.choose( ),弹出对话框,选择文件位置。强烈推荐这种方法,免去了记忆和书写文件路径的麻烦。

    其他参数:

    Note:
    这里要注意参数 row.names 。比如我出现的错误:
    错误一:路径问题

    错误二:row.names问题
    使用书上的例子:

    我出现的错误:

其实我的错误很奇葩,是文件第一个字符乱码。因为我把row.names去掉之后,数据是可以输入的。

但是查资料的时候,发现,是有很多人在这上面出错误,不了解row.names是干嘛的。
row.names这个参数是一个向量,它的长度同数据集的行数是一样的。它用来作为行名。它可以是输入数据集的某一列,也可以是一个向量。具体的可以通过?read.table看参数的含义和用法。

3.2导入Excel数据

读取一个Excel文件的最好方式,就是在Excel中将其导出为一个逗号分隔文件(csv),并使用 3.1节中描述的方式将其导入R中。

以上就是数据集我用到的地方。具体做实验可能还会出现问题,到时再总结。

以上是关于《R语言实战》读书笔记-- 创建数据集的主要内容,如果未能解决你的问题,请参考以下文章

《R语言实战》之 创建数据集(第二章,各种数据结构)

《R实战》读书笔记二

R语言实战——1.2创建数据集

[读书笔记] R语言实战 基本数据管理

[读书笔记] R语言实战 (十四) 主成分和因子分析

R语言之创建数据集