大家好,欢迎来到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文件。
- 选择语言
- 下一步
- 选择安装路径
- 下一步
- 直接选择默认,下一步
- 如果需要快捷栏启动就勾上
- 安装成功
三、数据基础
3.1 常用数据类型
3.1.1 向量(vector)
向量适用于存储数值类型、字符型或逻辑型数据的一维数组。
- 向量语法
vector_name <- c(element1, element2, element3, ...)
- 创建向量对象
# 创建数值型向量 age <- c(25, 30, 35, 40, 45) # 创建字符型向量 name <- c("John", "Joe", "Alex", "Mary", "Lucy") # 创建逻辑型数据 status <- c(TRUE, TRUE, FALSE, TRUE, FALSE)
- 修改向量对象
# 修改数值型向量 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) 是一种非常有用的数据类型,它可以存储任意数量和类型的对象,并且可以使用一组多维索引访问它们。列表可以包含向量、矩阵、数据框、其它列表等数据类型。
- 创建列表对象
使用 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)
- 访问列表对象
使用 [[ ]]
或 $ 索引符号可以访问列表对象中的元素。以下是访问上面列表对象中的元素的示例 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
- 删除列表元素
可以使用 NULL
或 list()
函数来删除列表中的元素。
# 删除第二个元素 my_list[[2]] <- NULL # 使用空的列表删除第一个元素 my_list[[1]] <- list() # 重新打印列表对象以查看结果 my_list # 输出: # [[1]] # list() # $third # [1] 1 5 7
列表可以搭配任何基本数据类型, 再加上灵活的索引途径,可以让用户更好地掌控复杂的数据结构,从而更方便地进行数据处理。
3.1.3 数组(array)
数组是一种可以存储多维数据的数据类型,多维数据意味着除了行和列之外还可以有多个维度。可以使用 array() 函数来创建一个新数组对象,该函数接受一个向量作为数据输入,以及一个用于指定各个维度大小的整数向量。
- 创建数组对象
使用 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
- 访问数组对象
可以使用 [ ]
索引符号访问数组对象中的元素。上面创建的数组对象中,第一个维度的指针先移动,然后是第二个维度的指针,最后是第三个维度的指针。以下是访问上面数组对象中的元素的示例 R 代码:
# 访问第1个元素 arr[1, 1, 1] # 输出:1 # 访问第2个元素 arr[1, 2, 1] # 输出:4 # 访问第11个元素 arr[2, 3, 1] # 输出:8 # 访问最后一个元素 arr[3, 4, 2] # 输出:24
- 修改数组对象
使用 [ ]
索引符号来修改数组对象中的元素。以下是在数组对象中修改元素的示例 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()
函数来创建矩阵对象,该函数接受一个向量作为输入数据,以及表示行和列数的整数向量。
- 创建矩阵对象
使用 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的数字向量,nrow 和 ncol 参数分别是3,表示行和列的大小。
- 访问矩阵对象
使用 [ ]
索引符号访问矩阵对象中的元素。以下是访问上面矩阵对象中的元素的示例 R 代码:
# 访问第1行第2列的元素 mat[1, 2] # 输出:4 # 访问第3行的所有元素 mat[3, ] # 输出:3 6 9 # 访问第2列的所有元素 mat[, 2] # 输出:4 5 6
- 修改矩阵对象
使用 [ ]
索引符号来修改矩阵对象中的元素。以下是在矩阵对象中修改元素的示例 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()
函数来创建数据框对象,该函数需要指定每个列的名字和它们的值。
- 创建数据框对象
使用 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
- 访问数据框对象
数据框可以使用 $ 符号
、[ ]
和 [[ ]]
索引符号进行访问,其中 $ 符号
用于访问列名,不需要指定行数。以下是访问上面示例数据框对象中的元素的示例 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
- 修改数据框对象
使用 $ 符号
或 [ ]
索引符号来修改数据框中的元素。以下是修改上面数据框对象中的元素的示例 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
在上面的示例中,我们使用TRUE
和FALSE
关键字来分别表示真和假,也可以使用 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