欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

R语言实战_第2章_创建数据集

程序员文章站 2024-02-28 11:44:58
...

第2章 创建数据集

1. 数据基本概念

  1. 行/实例标识符
    日期型变量
    连续性变量
    名义型变量
    有序性变量
  2. 对象类型:标量、向量、矩阵、数组、数据框、列表。
  3. 标量:只含一个元素的向量

1. 向量

  1. 向量:
    a <- c(1, 2, 5, 3, 6, -1, 4) 数值型向量
    b <- c('one', 'two', 'three') 字符型向量
    c <- c(TRUE, TRUE, FALSE, TRUE) 逻辑型向量
    同一向量中无法混杂不同模式的数据
  2. R语言计数从1开始,Python计数从0开始
  3. 访问向量中指定元素:
    a[2]
    a[c(2,4)]
    c[2:5]

2. 矩阵

  1. 相同模式元素构成的二维数组
  2. 通过 matrix() 创建矩阵
y <- matrix(1:20, nrow=5, ncol=4)
x <- matrix(cells, nrow=2, ncol=2, byrow=TRUE,
		dimnames=list(rnames, cnames))

矩阵默认按列填充

  1. 访问矩阵中的指定元素:
    y[2, ] 第2行所有元素
    y[ ,2] 第2列所有元素
    y[1, 4] 第1行第4位元素
    y[1, c(4,5)] 第1行第4、5位元素

3. 数组

  1. 数组与矩阵相似,由相同元素构成,维度可以大于2
  2. 数组由 array() 创建:
    myarray <- array(vector, dimensions, dimnames)
    vector 包含数组中的数据
    dimensions 给出各维度下标最大值
    dimnames 可选的,各维度名称标签
  3. 示例
dim1 <- c("A1", "A2")
dim2 <- c("B1", "B2", "B3")
dim3 <- c("C1", "C2", "C3", "C4")
z <- array(1:24, c(2, 3, 4),
		dimnames=list(dim1, dim2, dim3))

4. 数据框

  1. 不同列可以是不同模式(数值型、字符型等)的数据,各列的数据模式须保持一致
  2. 通过 data.frame() 创建
  3. mydata <- data.frame(col1, col2, col3)
    col 为列向量
  4. 选取数据框中元素:
    mydata[1: 2]
    mydata[c("col2", "col3")]
    mydata$col3
  5. table() 对两变量列联表
  6. attach()detach()with():
attach(mydata)
	summary(col1)
detach(mydata)
with(mydata, {
	summary(col1)
       })

将数据框添加入R的搜索路径,方便选取数据

5. 因子

  1. 变量:名义型、有序型、连续型
  2. 类别(名义型)变量和有序类别(有序型)变量在R中成为因子(factor)
  3. diabetes <- c("Type1", "Type2", "Type1", "Type1") 名义型变量
  4. status <- c("Poor", "Improved", "Excellent", "Poor")
    status <- factor(status, order=TRUE) 有序型变量,按字母排序
    status <- factor(status, order=TRUE,
    levels=("Poor", "Improved", "Excellent"))
    给定变量顺序
  5. sex <- factor(sex, levels=c(1, 2),
    labals=c("Male", "Female"))
    将变量转换为一个无序因子,输出时输出labal值

6. 列表

  1. 若干对象的有序集合,对象可以是向量、矩阵、数据框或其他列表
  2. list() 构建列表
    mylist <- list(object1, object2, ...)

2. 处理数据的实用函数

函数 用途
length(object) 显示对象中元素/成分的数量
dim(object) 显示某个对象的维度
str(object) 显示某个对象的结构
class(object) 显示某个对象的类或类型
mode(object) 显示某个对象的模式
names(object) 显示某对象中各成分的名称
c(object, object, ...) 将对象合并入一个向量
cbind(object, object, ...) 按列合并对象
rbind(object, object, ...) 按行合并对象
object 输出某个对象
head(object) 列出某个对象的开始部分
tail(object) 列出某个对象的最后部分
ls() 显示当前的对象列表
rm(object, object, ...) 删除一个或多个对象
rm(list = ls()) 删除当前工作环境中的几乎所有对象
newobject <- edit(object) 编辑对象并另存为newobject
fix(object) 直接编辑对象