R语言——数据结构与数据处理

**1、**练习使用seq( )函数创建向量:使用3种方法生成0~1,步长为0.1的向量,并在控制台打印出来。

2 **、**练习使用rep( )函数创建向量:(1)生成一个4个元素均为3的向量;(2)生成一个1 1 2 2 3 3的向量。

**3、**使用matrix函数创建两个矩阵mat1、mat2。mat1的数据是1:6,3行2列的形式。mat2的数据是7:12,两行三列。(1)编写一个函数调用apply函数族,让矩阵mat1的每一个元素都减去矩阵mat1的最大值,并输出。(2)计算mat1、mat2矩阵相乘并输出%*%。

**4、**创建一个list列表,列表中包括两个向量、两个矩阵、一个数据框、两个函数(fun1、fun2)。其中fun1实现向量加法,fun2实现矩阵的乘法运算。打印出列表中的各个元素,并调用函数fun1、fun2,输出相应的打印结果。

**5、**练习读入csv、txt、xlsx格式的本地文件,并将csv文件导出为txt文件。

**6、**将下列数据以数据框的形式表示出来,并按照年龄,出生月份升序排序。

|----|-------|----|------|
| 序号 | 姓名 | 年龄 | 出生月份 |
| 1 | Jacks | 27 | 2 |
| 2 | ROSE | 28 | 5 |
| 3 | KD | 27 | 6 |
| 4 | ICE | 29 | 3 |
| 5 | MIK | 27 | 1 |

  1. 练习使用seq( )函数创建向量:

代码:

# 方法一

vec1 <- seq(0, 1, by = 0.1)

print(vec1)



# 方法二

vec2 <- seq(from = 0, to = 1, length.out = 11)

print(vec2)



# 方法三

vec3 <- 0:10 / 10

print(vec3)

截图:

  1. 练习使用rep( )函数创建向量:

代码:

R 复制代码
# (1) 生成一个4个元素均为3的向量

vec_rep1 <- rep(3, times = 4)

print(vec_rep1)



# (2) 生成一个1 1 2 2 3 3的向量

vec_rep2 <- rep(1:3, each = 2)

print(vec_rep2)

截图:

3、

代码:

R 复制代码
# 创建矩阵mat1

mat1 <- matrix(1:6, nrow = 3, ncol = 2)

print(mat1)



# 创建矩阵mat2

mat2 <- matrix(7:12, nrow = 2, ncol = 3)

print(mat2)



# (1) 使用apply函数族,让矩阵mat1的每一个元素都减去矩阵mat1的最大值,并输出

subtract_max <- function(x) {

  x - max(x)

}



result <- apply(mat1, c(1, 2), subtract_max)

print(result)



# (2) 计算mat1、mat2矩阵相乘并输出%*%

result_multiply <- mat1 %*% mat2

print(result_multiply)

截图:

(1)

(2)

4、

代码:

R 复制代码
# 创建向量、矩阵、数据框和函数

vec <- c(1, 2, 3)

mat <- matrix(1:4, nrow = 2)

df <- data.frame(ID = 1:3, Name = c("A", "B", "C"))

fun1 <- function(x, y) {

  x + y

}

fun2 <- function(x, y) {

  x %*% y

}



# 创建列表

my_list <- list(vec, mat, df, fun1, fun2)



# 打印列表中的各个元素

print(my_list)



# 调用函数fun1、fun2

result_fun1 <- my_list[[4]](2, 3)

result_fun2 <- my_list[[5]](mat, mat)

print(result_fun1)

print(result_fun2)

截图:

  1. 练习读入csv、txt、xlsx格式的本地文件,并将csv文件导出为txt文件。

数据实例:

|-----|--------|----------------|---|---|------|
| 序号 | 学院 | 班级 | | | 总金额 |
| 230 | 信息工程学院 | 数据科学与大数据技术20-1 | | | 800 |
| 231 | 信息工程学院 | 数据科学与大数据技术20-2 | | | 1500 |
| 232 | 信息工程学院 | 数据科学与大数据技术20-2 | | | 500 |
| 233 | 信息工程学院 | 数据科学与大数据技术21-1 | | | 500 |
| 234 | 信息工程学院 | 数据科学与大数据技术21-2 | | | 1000 |
| 235 | 信息工程学院 | 数据科学与大数据技术20-2 | | | 1500 |
| 236 | 信息工程学院 | 数据科学与大数据技术21-2 | | | 800 |
| 237 | 信息工程学院 | 数据科学与大数据技术21-2 | | | 800 |
| 238 | 信息工程学院 | 数据科学与大数据技术21-1 | | | 500 |
| 239 | 信息工程学院 | 数据科学与大数据技术21-1 | | | 500 |
| 240 | 信息工程学院 | 数据科学与大数据技术21-1 | | | 2000 |
| 241 | 信息工程学院 | 数据科学与大数据技术21-2 | | | 1000 |
| 242 | 信息工程学院 | 数据科学与大数据技术20-2 | | | 500 |
| 243 | 信息工程学院 | 数据科学与大数据技术21-2 | | | 800 |
| 244 | 信息工程学院 | 数据科学与大数据技术20-1 | | | 800 |
| 245 | 信息工程学院 | 物联网工程20-1 | | | 1500 |
| 246 | 信息工程学院 | 数据科学与大数据技术21-2 | | | 500 |
| 247 | 信息工程学院 | 物联网工程20-1 | | | 1200 |
| 248 | 信息工程学院 | 网络工程20-1 | | | 500 |
| 249 | 信息工程学院 | 物联网工程21-1 | | | 1000 |
| 250 | 信息工程学院 | 物联网工程21-2 | | | 800 |
| 251 | 信息工程学院 | 数据科学与大数据技术20-2 | | | 1000 |
| 252 | 信息工程学院 | 数据科学与大数据技术20-2 | | | 1500 |
| 253 | 信息工程学院 | 数据科学与大数据技术20-1 | | | 1500 |
| 254 | 信息工程学院 | 网络工程20-1 | | | 1400 |
| 255 | 信息工程学院 | 数字媒体技术21-2班 | | | 800 |
| 256 | 信息工程学院 | 数字媒体技术20-1 | | | 200 |
| 257 | 信息工程学院 | 数字媒体技术20-1 | | | 500 |
| 258 | 信息工程学院 | 数字媒体技术20-2 | | | 300 |
| 259 | 信息工程学院 | 数字媒体技术20-2 | | | 2300 |
| 260 | 信息工程学院 | 数字媒体技术20-2 | | | 300 |

代码:

R 复制代码
# 导入所需的包

library(readxl)



# 读取CSV文件

csv_data <- read.csv("student.csv")

print("CSV文件内容:")

print(csv_data)



# 读取文本文件

txt_data <- read.table("student.txt")

print("文本文件内容:")

print(txt_data)



# 读取Excel文件

xlsx_data <- read_excel("student.xlsx")

print("Excel文件内容:")

print(xlsx_data)



# 将CSV文件导出为TXT文件

write.table(csv_data, "student2.txt", sep = "\t", row.names = FALSE)

print("CSV文件已导出为TXT文件。")

截图:

6、

代码:

R 复制代码
# 创建数据框

data <- data.frame(

  序号 = 1:5,

  姓名 = c("Jacks", "ROSE", "KD", "ICE", "MIK"),

  年龄 = c(27, 28, 27, 29, 27),

  出生月份 = c(2, 5, 6, 3, 1)

)



# 按照年龄和出生月份升序排序

sorted_data <- data[order(data$年龄, data$出生月份), ]

print(sorted_data)

截图:

相关推荐
数据小爬虫@16 分钟前
如何高效利用Python爬虫按关键字搜索苏宁商品
开发语言·爬虫·python
ZJ_.17 分钟前
WPSJS:让 WPS 办公与 JavaScript 完美联动
开发语言·前端·javascript·vscode·ecmascript·wps
Narutolxy23 分钟前
深入探讨 Go 中的高级表单验证与翻译:Gin 与 Validator 的实践之道20241223
开发语言·golang·gin
Hello.Reader30 分钟前
全面解析 Golang Gin 框架
开发语言·golang·gin
禁默41 分钟前
深入浅出:AWT的基本组件及其应用
java·开发语言·界面编程
Code哈哈笑1 小时前
【Java 学习】深度剖析Java多态:从向上转型到向下转型,解锁动态绑定的奥秘,让代码更优雅灵活
java·开发语言·学习
程序猿进阶1 小时前
深入解析 Spring WebFlux:原理与应用
java·开发语言·后端·spring·面试·架构·springboot
qq_433618441 小时前
shell 编程(二)
开发语言·bash·shell
charlie1145141911 小时前
C++ STL CookBook
开发语言·c++·stl·c++20
袁袁袁袁满1 小时前
100天精通Python(爬虫篇)——第113天:‌爬虫基础模块之urllib详细教程大全
开发语言·爬虫·python·网络爬虫·爬虫实战·urllib·urllib模块教程