R语言数据集的学习

一、数据集的概念

按照个人要求的格式来创建含有研究信息的数据集,这是任何数据分析的第一步。在R中,这个任务包括以下两步:
    ·选择一种数据结构来存储数据;
    ·将数据输入或导入到这个数据结构中。
数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量
R可以处理的数据类型(模式)【区别数据结构】包括数值型、字符型、复数型和原生型。R将实例标识符称为rownames(行名),将类别型(包括名义型和有序型)变量称为因子(factors)。

二、数据结构

  • R语言有许多用于存储数据的对象类型,包括标量、向量、矩阵、数组、数据框和列表,它们在存储数据类型、创建方式、结构复杂度、以及用于定位和访问其中个别元素的标记等方面均有所不同。

1.向量

向量是用于存储数据型、字符型或逻辑型数据的一维数组。执行组合功能的函数c()用来创建向量。
注意:单个向量中的数据必须拥有相同的类型或模式(数值型、字符型或逻辑型),同一向量中无法混杂不同模式的数据。

在这里插入图片描述
rep()重复一个对象,格式1:

rep(x,times)

x是要重复的对象,times为对象中每个元素重复的次数
例向量c(1,2,3),times=c(2,2,3)是将向量c的1重复2次,2重复2次,3重复3次。

在这里插入图片描述

格式2:
rep(x,each=n)
重复x元素n次,

在这里插入图片描述

rnorm()函数随机产生正态分布向量
格式:rnorm(个数,均差,方差)

在这里插入图片描述

2.矩阵

矩阵是一个二维数组,只是每个元素都拥有相同的模式(数值型、字符型或逻辑型)。可通过matrix()函数创建。(在矩阵中,默认按列填充)
matrix (data ,nrow ,ncol ,byrow ,dimnames )
data:是将要转为矩阵元素的输入向量
nrow:矩阵的行数,默认为1;
ncol:矩阵的列数,默认为1;
byrow:一个逻辑线索。 如果为TRUE,则输入向量元素按行排列,默认按列;
dimnames:以字符型向量表示的行名及列名。

在这里插入图片描述
在这里插入图片描述

3.数组

在R语言中,数组与矩阵类似,它将矩阵扩展到2维以上。R数组元素的类型也是单一的,可以是数值型,逻辑型,字符型或复数型等。

1)数组的创建

array( data, dim =length, dimnames)
data为创建数组的元素;
dim为数组的维数,是数值型向量;
dimnames是各维度中名称标签列表。

在这里插入图片描述
在创建数组时也可以给数组的每一维的每个水平取名字:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

4. 数据框

当有多种模式(数值型、字符型或逻辑型)的数据时,可以使用数据框。因为数据框的本质是由一堆向量或者因子构成的列表,其中的每一个向量或者因子代表了一列。(注意每一列的数据类型必须相同。)

1)创建数据框——data.frame()函数
格式:data.frame(col1,col2,col3…)其中col1,col2,col3…可为任何类型。每一列的名称可由函数name指定。

data.frame(, row.names = NULL, check.rows = FALSE, check.names = TRUE, stringsAsFactors = default.stringsAsFactors())

row.name用于指定各行的名称,默认没有名称,使用从1开始自增的序列来标识每一行;check.rows用于用来检查行的名称和数量是否一致,默认为FALSE;check.names来检查变量(列)的名称是否唯一且符合语法,默认为TRUE;用来描述是否将字符型向量自动转换为因子,默认转换,若不改变的话使用stringsAsFactors = FALSE来指定即可。

例:关于病人的数据框创建
在这里插入图片描述

数据框的每一列数据的模式必须唯一,可以将多个模式的不同列放到一起组成数据框。由于数据框与分析人员通常设想的数据集的形态较为接近,我们在讨论数据框时将交替使用术语**😎

x<-expand.grid(h=c(20,40),w=c(100,200),sex=c("M","F"))
x<

在这里插入图片描述
2)数据框的引用
访问数据:
通过行列的下标访问
在这里插入图片描述
通过列名或列下标查看列
在这里插入图片描述
[[]]和$
若只查看数据的某一列还可以通过 [[]] 和 $
在这里插入图片描述
增加和删除列——通过 $ 增加列
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值