超级入门:R 语言的 5 种基本数据类型

超级入门:R 语言的 5 种基本数据类型R 语言简和数据基础 r 语言数据类型

大家好,欢迎来到IT知识分享网。

一、R语言简介

R语言是一种用于统计计算和绘图的编程语言,它是由新西兰奥克兰大学的 Ross Ihaka 和 Robert Gentleman 开发的。R语言支持向量和矩阵计算,因此也可以用于数值分析和线性代数。它主要应用于数据分析、统计学习、数据挖掘、数据可视化等领域。

R语言的优势是它具有很好的可重复性和可扩展性。通过使用扩展包(packages),用户可以轻松地扩展R语言的功能,并在开源社区中共享代码。R语言也有很好的图形界面,比如Rstudio,使得数据分析和可视化更加直观和便捷。

R语言的语法类似于英语,易于学习和阅读。它具有许多内置的函数和数据类型,包括向量、矩阵、数组、数据框(data-frame)和列表。对于数据处理和数据分析,R语言的操作和函数库非常丰富。除此之外,R语言还支持其他编程语言的集成,如 Python 和 C++ 等。

二、R的安装

我个人比较喜欢R语言自带的分析界面,没有安装Rstudio,我用的R版本是4.2.1

链接:https://pan.baidu.com/s/1w-Efrm5LDNiQLUIu0o9COg 提取码:6666 

上面是百度网盘的下载地址。下载完成后,直接双击exe文件。

  1. 选择语言
    在这里插入图片描述
  2. 下一步
    在这里插入图片描述
  3. 选择安装路径
    在这里插入图片描述
  4. 下一步
    在这里插入图片描述
  5. 直接选择默认,下一步
    在这里插入图片描述
  6. 如果需要快捷栏启动就勾上
    在这里插入图片描述
  7. 安装成功
    在这里插入图片描述

三、数据基础

3.1 常用数据类型

3.1.1 向量(vector)

向量适用于存储数值类型、字符型或逻辑型数据的一维数组。

  1. 向量语法
vector_name <- c(element1, element2, element3, ...) 
  1. 创建向量对象
# 创建数值型向量 age <- c(25, 30, 35, 40, 45) # 创建字符型向量 name <- c("John", "Joe", "Alex", "Mary", "Lucy") # 创建逻辑型数据 status <- c(TRUE, TRUE, FALSE, TRUE, FALSE) 
  1. 修改向量对象
# 修改数值型向量 age[3] <- 36 age # 输出:25 30 36 40 45 # 修改字符型向量 name[5] <- "Lily" name # 输出:"John" "Joe" "Alex" "Mary" "Lily" # 修改逻辑向量 status[4] <- FALSE status # 输出:TRUE TRUE FALSE FALSE FALSE 

3.1.2 列表(list)

列表(list) 是一种非常有用的数据类型,它可以存储任意数量和类型的对象,并且可以使用一组多维索引访问它们。列表可以包含向量、矩阵、数据框、其它列表等数据类型。

  1. 创建列表对象

使用 list() 函数可以创建一个新的空列表对象。可以使用 [[ ]] 或 $ 索引符号将一个或多个对象添加到列表中。

# 创建空的列表对象 my_list <- list() # 添加元素到列表对象 my_list[[1]] <- c(1, 2, 3) my_list[["second"]] <- matrix(1:9, nrow = 3) my_list$third <- c(2,4,6) 
  1. 访问列表对象

使用 [[ ]] 或 $ 索引符号可以访问列表对象中的元素。以下是访问上面列表对象中的元素的示例 R 代码:

# 使用 [[]] 索引访问列表中的元素 my_list[[1]] # 输出:1 2 3 # 使用 $ 符号访问具有自定义名称的列表中的元素 my_list$second # 输出: # [,1] [,2] [,3] # [1,] 1 4 7 # [2,] 2 5 8 # [3,] 3 6 9 
  1. 删除列表元素

可以使用 NULLlist() 函数来删除列表中的元素。

# 删除第二个元素 my_list[[2]] <- NULL # 使用空的列表删除第一个元素 my_list[[1]] <- list() # 重新打印列表对象以查看结果 my_list # 输出: # [[1]] # list() # $third # [1] 1 5 7 

列表可以搭配任何基本数据类型, 再加上灵活的索引途径,可以让用户更好地掌控复杂的数据结构,从而更方便地进行数据处理。

3.1.3 数组(array)

数组是一种可以存储多维数据的数据类型,多维数据意味着除了行和列之外还可以有多个维度。可以使用 array() 函数来创建一个新数组对象,该函数接受一个向量作为数据输入,以及一个用于指定各个维度大小的整数向量。

  1. 创建数组对象

使用 array() 函数可以创建一个新的数组对象。 以下是创建一个名为 arr 的数组的示例 R 代码:

# 创建一个 3x4x2 的数组 (行x列x维度) arr <- array(data = 1:24, dim = c(3, 4, 2)) # 打印数组对象 arr # 输出 # , , 1 #  # [,1] [,2] [,3] [,4] # [1,] 1 4 7 10 # [2,] 2 5 8 11 # [3,] 3 6 9 12 #  # , , 2 #  # [,1] [,2] [,3] [,4] # [1,] 13 16 19 22 # [2,] 14 17 20 23 # [3,] 15 18 21 24 
  1. 访问数组对象

可以使用 [ ] 索引符号访问数组对象中的元素。上面创建的数组对象中,第一个维度的指针先移动,然后是第二个维度的指针,最后是第三个维度的指针。以下是访问上面数组对象中的元素的示例 R 代码:

# 访问第1个元素 arr[1, 1, 1] # 输出:1 # 访问第2个元素 arr[1, 2, 1] # 输出:4 # 访问第11个元素 arr[2, 3, 1] # 输出:8 # 访问最后一个元素 arr[3, 4, 2] # 输出:24 
  1. 修改数组对象

使用 [ ] 索引符号来修改数组对象中的元素。以下是在数组对象中修改元素的示例 R 代码:

# 修改第1个元素为2 arr[1, 1, 1] <- 2 # 修改第2个元素为5 arr[1, 2, 1] <- 5 # 打印修改后的数组对象 arr # 输出 # , , 1 #  # [,1] [,2] [,3] [,4] # [1,] 2 5 7 10 # [2,] 2 5 8 11 # [3,] 3 6 9 12 #  # , , 2 #  # [,1] [,2] [,3] [,4] # [1,] 13 16 19 22 # [2,] 14 17 20 23 # [3,] 15 18 21 24 

3.1.4 矩阵(Matrix)

矩阵(Matrix) 是以二维方式存储的数据类型,每列中的数据类型必须相同。矩阵可以看作是一个具有行和列的数据表格,其中每个单元格存放着一个数值。在 R 语言中,可以使用 matrix() 函数来创建矩阵对象,该函数接受一个向量作为输入数据,以及表示行和列数的整数向量。

  1. 创建矩阵对象

使用 matrix() 函数可以创建一个新的矩阵对象。以下是创建一个名为 mat 的矩阵的示例 R 代码:

# 创建一个 3x3 的矩阵 mat <- matrix(data = c(1, 2, 3, 4, 5, 6, 7, 8, 9), nrow = 3, ncol = 3) # 打印矩阵对象 mat # 输出 # [,1] [,2] [,3] # [1,] 1 4 7 # [2,] 2 5 8 # [3,] 3 6 9 

在上面的例子中,我们使用 matrix() 函数创建了一个3×3的矩阵对象,其中 data 参数指向一个包含1到9的数字向量,nrowncol 参数分别是3,表示行和列的大小。

  1. 访问矩阵对象

使用 [ ] 索引符号访问矩阵对象中的元素。以下是访问上面矩阵对象中的元素的示例 R 代码:

# 访问第1行第2列的元素 mat[1, 2] # 输出:4 # 访问第3行的所有元素 mat[3, ] # 输出:3 6 9 # 访问第2列的所有元素 mat[, 2] # 输出:4 5 6 
  1. 修改矩阵对象

使用 [ ] 索引符号来修改矩阵对象中的元素。以下是在矩阵对象中修改元素的示例 R 代码:

# 修改第1行第2列的元素为10 mat[1, 2] <- 10 # 修改第3行的所有元素为0 mat[3, ] <- c(0, 0, 0) # 打印修改后的矩阵对象 mat # 输出 # [,1] [,2] [,3] # [1,] 1 10 7 # [2,] 2 5 8 # [3,] 0 0 0 

在上面的例子中,我们使用 [ ] 索引符号将第一个元素修改为10,将第三行的所有元素修改为0,然后打印修改后的矩阵对象。

矩阵是在 R 语言中最常用、最基本的数据类型之一,因为许多常见的数据分析和统计建模方法都涉及矩阵操作。

3.1.5 数据框(data.frame)

数据框是 R 语言中一种常用的数据类型,是一种表格形式的数据结构,其中每个列可以包含不同的数据类型,但必须保证每个列的元素个数相同。数据框经常用于在 R 语言中进行数据操作和数据分析,包含了多个观测值和变量。可以使用 data.frame() 函数来创建数据框对象,该函数需要指定每个列的名字和它们的值。

  1. 创建数据框对象

使用 data.frame() 函数可以创建一个新的数据框对象。以下是创建一个名为 df 的数据框的示例 R 代码:

# 创建数据框 df <- data.frame( name = c("John", "Joe", "Alex", "Mary", "Lucy"), age = c(25, 30, 35, 40, 45), height = c(1.75, 1.80, 1.70, 1.68, 1.72) ) # 打印数据框对象 df # 输出 # name age height # 1 John 25 1.75 # 2 Joe 30 1.80 # 3 Alex 35 1.70 # 4 Mary 40 1.68 # 5 Lucy 45 1.72 
  1. 访问数据框对象

数据框可以使用 $ 符号[ ][[ ]] 索引符号进行访问,其中 $ 符号用于访问列名,不需要指定行数。以下是访问上面示例数据框对象中的元素的示例 R 代码:

# 使用 $ 符号访问列 'name' df$name # 输出:John Joe Alex Mary Lucy # 使用 [ ] 符号访问前三行 df[1:3, ] # 输出: # name age height # 1 John 25 1.75 # 2 Joe 30 1.80 # 3 Alex 35 1.70 # 使用 [ ] 符号访问第二列 df[, 2] # 输出:25 30 35 40 45 # 使用 [[ ]] 符号访问列 'height' df[["height"]] # 输出:1.75 1.80 1.70 1.68 1.72 
  1. 修改数据框对象

使用 $ 符号[ ] 索引符号来修改数据框中的元素。以下是修改上面数据框对象中的元素的示例 R 代码:

# 使用 $ 符号修改列 'age' df$age <- c(26, 31, 36, 41, 46) # 使用 [ ] 符号修改第一行的所有列 df[1, ] <- c("Tom", 30, 1.90) # 打印修改后的数据框对象 df # 输出: # name age height # 1 Tom 30 1.9 # 2 Joe 31 1.8 # 3 Alex 36 1.7 # 4 Mary 41 1.68 # 5 Lucy 46 1.72 

在上面的例子中,我们使用 $ 符号将第一个元素修改为 “Tom”,使用 [ ] 索引符号将第一行的所有列修改为一组新的值,然后打印修改后的数据框对象。

数据框是 R 语言中一种非常实用的数据类型,尤其在数据分析和统计建模中非常常用,因为它可以用于存储和操作特定类型的不同数据。

3.2 常用元素类型

3.2.1 数值型 (numeric)

数值型(numeric) 是一种表示实数或浮点数的 R 语言数据类型。以下是创建和使用数字向量的示例代码:

# 创建数字向量 x <- c(1, 2.5, 3.7, 5.2) # 打印数字向量 x # 输出:1.0 2.5 3.7 5.2 # 计算向量的平均值和标准差 mean(x) # 输出:3.1 sd(x) # 输出:1. 

在上面的示例中,我们使用 c() 函数来创建一个数字向量,然后使用 mean() 函数和 sd() 函数计算向量的平均值和标准差。

3.2.2 整型 (integer)

整型(integer) 是一种表示整数的 R 语言数据类型。以下是创建和使用整数向量的示例代码:

# 创建整数向量 y <- c(2L, 4L, 6L, 8L) # 打印整数向量 y # 输出:2 4 6 8 # 计算向量的和 sum(y) # 输出:20 # 计算乘积 prod(y) # 输出:384 

在上面的示例中,我们使用 c() 函数来创建一个整数向量,由于每个元素后都跟着一个 L 表示这是一个整数型,然后使用 sum() 函数和 prod() 函数计算向量的和和乘积。

3.2.3 字符串 (character)

字符串(character) 是一种表示文本字符的 R 语言数据类型。以下是创建和使用字符串的示例代码:

# 创建字符串变量和字符串向量 name <- "Alice" gender <- "female" myString <- c("Hello", "World", "!") # 打印字符串变量和向量 name # 输出:"Alice" gender # 输出:"female" myString # 输出:"Hello" "World" "!" 

在上面的示例中,我们使用双引号或单引号来表示一个字符串,也可以使用 c() 函数来创建一个字符串向量。

3.2.4 逻辑型 (logical)

逻辑型(logical) 是一种表示真或假的 R 语言数据类型。以下是创建和使用逻辑型的示例代码:

# 创建逻辑型变量和逻辑型向量 a <- TRUE b <- FALSE myLogical <- c(TRUE, TRUE, FALSE, FALSE) # 打印逻辑型变量和向量 a # 输出:TRUE b # 输出:FALSE myLogical # 输出:TRUE TRUE FALSE FALSE 

在上面的示例中,我们使用TRUEFALSE关键字来分别表示真和假,也可以使用 c() 函数来创建一个逻辑型向量。

3.2.5 复数型 (complex)

复数型(complex) 是一种表示实部和虚部均为数值的复数的 R 语言数据类型。以下是创建和使用复数的示例代码:

# 创建复数变量和复数向量 a <- 1 + 2i 

3.2.6 因子类型(factor)

因子(factor) 是 R 语言中一种用于表示分类变量的数据类型,它将一组离散的值映射到一个整数索引,这个整数索引称为因子水平(factor level)。因子变量通常用于存储分类变量,比如性别、文化背景等。

以下是创建和使用因子变量的示例代码:

# 创建一个包含因子变量的数据框 df <- data.frame( id = 1:5, gender = factor(c("male", "female", "male", "female", "male")) ) # 打印数据框 df # 输出: # id gender # 1 1 male # 2 2 female # 3 3 male # 4 4 female # 5 5 male # 计算因子变量的水平 levels(df$gender) # 输出:female male # 统计因子变量中每个水平的数量 table(df$gender) # 输出: # female male  # 2 3 

在上面的示例中,我们使用 factor() 函数将字符向量转换为因子变量,并将因子变量存储在一个数据框中。然后我们使用 levels() 函数来获取因子变量的水平,使用 table() 函数来计算因子变量的每个水平数的数量。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/158511.html

(0)
上一篇 2025-01-19 20:05
下一篇 2025-01-19 20:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信