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)

截图:

相关推荐
玩电脑的辣条哥2 小时前
Python如何播放本地音乐并在web页面播放
开发语言·前端·python
ll7788115 小时前
LeetCode每日精进:20.有效的括号
c语言·开发语言·算法·leetcode·职场和发展
Jackson@ML6 小时前
Python数据可视化简介
开发语言·python·数据可视化
赵琳琅6 小时前
Java语言的云计算
开发语言·后端·golang
lly2024067 小时前
jQuery 杂项方法
开发语言
赵琳琅7 小时前
MDX语言的安全开发
开发语言·后端·golang
开开又心心的学嵌入式7 小时前
C语言——指针进阶应用
c语言·开发语言
开开又心心的学嵌入式7 小时前
C语言——指针基础知识
c语言·开发语言
lonelyhiker7 小时前
javascript的原型链
开发语言·javascript·原型模式
夏梓蕙8 小时前
Elixir语言的软件开发工具
开发语言·后端·golang