美文网首页
《R语言实战》学习笔记---Chapter2 创建数据集(2)

《R语言实战》学习笔记---Chapter2 创建数据集(2)

作者: RSP小白之路 | 来源:发表于2023-08-06 16:26 被阅读0次

3. 数据结构

R拥有许多用于存储数据的对象类型, 包括标量、 向量、 矩阵、 数组、数据框和列表。 其中数据框是最常用的。

3.4 数据框

数据框(dataframe)变量观测
不同列数据类型/模式(数值型、字符型)可以不同,同一列/变量数据类型相同即可
数据框(dataframe)是你在R中最常处理的数据结构,通过函数data.frame() 创建:

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

每一列的名称可由函数names 指定。
书中例子如下:

patientID <- c(1, 2, 3, 4)
age <- c(25, 34, 28, 52)
diabetes <- c("Type1", "Type2", "Type1", "Type1")
status <- c("Poor", "Improved", "Excellent", "Poor")
patientdata <- data.frame(patientID, age, diabetes, status)
print(patientdata)
patientdata打印结果

选取数据框中的元素

> patientdata[1:2]
  patientID age
1         1  25
2         2  34
3         3  28
4         4  52
> patientdata[c("diabetes", "status")]
  diabetes    status
1    Type1      Poor
2    Type2  Improved
3    Type1 Excellent
4    Type1      Poor
> patientdata$age
[1] 25 34 28 52

attach()、detach()和with()函数

  • 使用选取元素的一般方法:
> summary(mtcars$mpg)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  10.40   15.43   19.20   20.09   22.80   33.90 
> table((mtcars$disp))
 71.1  75.7  78.7    79  95.1   108 120.1 120.3   121 140.8   145 
    1     1     1     1     1     1     1     1     1     1     1 
146.7   160 167.6   225   258 275.8   301   304   318   350   351 
    1     2     2     1     1     3     1     1     1     1     1 
  360   400   440   460   472 
    2     1     1     1     1 
  • 使用attach()、detach()函数
> attach(mtcars)
> summary(mpg)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  10.40   15.43   19.20   20.09   22.80   33.90 
> table(disp)
disp
 71.1  75.7  78.7    79  95.1   108 120.1 120.3   121 140.8   145 
    1     1     1     1     1     1     1     1     1     1     1 
146.7   160 167.6   225   258 275.8   301   304   318   350   351 
    1     2     2     1     1     3     1     1     1     1     1 
  360   400   440   460   472 
    2     1     1     1     1 
> detach(mtcars)
> summary(mpg)   #在detach函数之后,无法使用
Error in summary(mpg) : object 'mpg' not found
  • 使用with()函数
> with(mtcars,
+      {print(summary(mpg))
+        table(disp)})
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  10.40   15.43   19.20   20.09   22.80   33.90 
disp
 71.1  75.7  78.7    79  95.1   108 120.1 120.3   121 140.8   145 
    1     1     1     1     1     1     1     1     1     1     1 
146.7   160 167.6   225   258 275.8   301   304   318   350   351 
    1     2     2     1     1     3     1     1     1     1     1 
  360   400   440   460   472 
    2     1     1     1     1 
> print(summary(mpg))  #在with作用范围之外,无法使用
Error in summary(mpg) : object 'mpg' not found

实例标识符/行名

在R中, 实例标识符(case identifier) 可通过数据框操作函数中的rowname 选项指定。 例如, 语句:

patientdata <- data.frame(patientID, age, diabetes, status, row.names=patientID)

3.5 因子

如你所见, 变量可归结为名义型、 有序型或连续型变量。 名义型变量是没有顺序之分的类别变量。
有序型变量 表示一种顺序关系, 而非数量关系。
类别(名义型) 变量和有序类别(有序型) 变量在R中称为因子(factor)。 因子在R中非常重要, 因为它决定了数据的分析方式以及如何进行视觉呈现。
函数factor() 以一个整数向量的形式存储类别值,要表示有序型变量, 需要为函数factor()指定参数ordered=TRUE

> status <- c("Poor", "Improved", "Excellent", "Poor")
> status_order <- factor(status, order=TRUE, 
+                        levels=c("Poor", "Improved", "Excellent") )
> status_label <- factor(status, order=TRUE, 
+                        levels=c("Poor", "Improved", "Excellent"),
+                        labels = c("1", "2", "3"))
> print(status)
[1] "Poor"      "Improved"  "Excellent" "Poor"     
> print(status_order)
[1] Poor      Improved  Excellent Poor     
Levels: Poor < Improved < Excellent
> print(status_label)
[1] 1 2 3 1
Levels: 1 < 2 < 3

3.6 列表

列表(list) 是R的数据类型中最为复杂的一种。
一般来说, 列表就是一些对象(或成分, component) 的有序集合
列表允许你整合若干(可能无关的) 对象到单个对象名下。
可以使用函数list()创建列表:

mylist <- list(object1, object2, ...)

其中的对象可以是目前为止讲到的任何结构。 你还可以为列表中的对象命名:

mylist <- list(name1=object1, name2=object2, ...)

举个例子:

> mylist <- list(
+   a = 12,
+   b = c("apple", "banana", "egg"),
+   d = matrix(c(1:6)),
+   c = data.frame(one = c(1:6), two = c(letters[1:6]), three =c(LETTERS[1:6]) )
+ )
> print(mylist)
$a
[1] 12

$b
[1] "apple"  "banana" "egg"   

$d
     [,1]
[1,]    1
[2,]    2
[3,]    3
[4,]    4
[5,]    5
[6,]    6

$c
  one two three
1   1   a     A
2   2   b     B
3   3   c     C
4   4   d     D
5   5   e     E
6   6   f     F

书中的一些注意事项

  • .在R中无特殊意义, $具有引用子集的作用;
  • 无多行注释作用,每一行注释都应该以#开头;
  • 将一个值赋给某个向量、 矩阵、 数组或列表中一个不存在的元素时, R将自动扩展这个数据结构以容纳新值。
  • R中没有标量。 标量以单元素向量的形式出现。
  • R中的下标不从0开始, 而从1开始。
  • 变量无法被声明。 它们在首次被赋值时生成。

相关文章

  • R语言实战(第2版):第二章 创建数据集(01)

    R语言实战(第2版):第二章 创建数据集 时间:2019年11月29日 2.1 数据集的概念 数据集通常是有数据构...

  • R语言实战-2创建数据集

    第二天,继续学习R语言。 2.创建数据集 2.1数据集 数据构成的一个矩形数组,行表示观测,列表示变量。 2.2数...

  • 第2章 创建数据集

    《R语言实战》笔记系列 本章学习大纲 1.R的数据结构 2.输入数据 3.导入数据 4.标注数据 第一部分 R的数...

  • 第4章 基本数据管理

    《R语言实战》笔记系列 本章学习大纲 1.操纵日期和缺失值 2.熟悉数据类型和转换 3.变量的创建和重编码 4.数...

  • R 语言实战 读书笔记

    R语言实战(第2版) 学习笔记 1. R语言介绍 1.1 为什么用R语言 bla 1.2 基本操作 图表演示命令 ...

  • 66-为自动分类生成深度网络模型

    《深度学习精要(基于R语言)》学习笔记 1、数据准备与数据理解 下载百万歌曲数据集,并解压: 数据集中有51534...

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

    第2章 创建数据集 2.1 数据集的概念数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量。 不同行业对...

  • [R语言]Chapter 2 创建数据集

    2.1 数据集的概念数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量。 R可以处理的数据类型包括数值...

  • 【R语言】---创建数据集

    数据集的概念 数据集一般情况下是由数据构成的一个矩形数据,行表示观测值,列表示变量。例如: 通过数据集,可以清楚的...

  • 第3章 图形初阶

    《R语言实战》笔记系列 本章学习大纲 1.图形的创建和保存 2.自定义符号、线条、颜色和坐标轴 3.标注文本和标题...

网友评论

      本文标题:《R语言实战》学习笔记---Chapter2 创建数据集(2)

      本文链接:https://www.haomeiwen.com/subject/itgipdtx.html