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

news2024/11/26 2:32:16

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( )函数创建向量:

代码:

# (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、

代码:

        

# 创建矩阵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、

代码:

# 创建向量、矩阵、数据框和函数

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

 

代码:

# 导入所需的包

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、

代码:

        

# 创建数据框

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)

截图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1849253.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言 | Leetcode C语言题解之第165题比较版本号

题目&#xff1a; 题解&#xff1a; int compareVersion(char * version1, char * version2){int len1 strlen(version1);int len2 strlen(version2);int i 0;int j 0;while (i < len1 || j < len2) {int num1 0;int num2 0;while (i < len1 && versio…

Android记录19-朋友圈动态发布时间计算

注意这里要1&#xff0c;因为月份是从0开始的。 获取当前月的第几天&#xff1a; calendar.get(Calendar.DAY_OF_MONTH) 获取当前时间毫秒显示&#xff1a; calendar.getTimeInMillis() Calendar还可以做很多一些运算&#xff0c;笔者在开发日历控件的时候&#xff0c;就做…

与Vatee万腾平台同行,共创智能未来

在科技日新月异的今天&#xff0c;智能化已成为推动社会进步的重要力量。Vatee万腾平台&#xff0c;作为这一浪潮中的佼佼者&#xff0c;正以其独特的创新力和前瞻的视野&#xff0c;引领我们迈向智能未来。与Vatee万腾平台同行&#xff0c;我们不仅能享受到科技带来的便捷与舒…

02 Shell编程之条件语句

1、条件测试操作 要使Shell脚本程序具备一定的智能&#xff0c;面临的第一个问题就是如何区分不同的情况以确定执行何种操作。 例如&#xff0c;当磁盘使用率超过95%时&#xff0c;发送告警信息&#xff1b;当备份目录不存在时&#xff0c;能够自动创建&#xff1b; 当源码编…

广东省建筑施工安管人员考核报名流程及照片处理方法

广东省建筑施工企业安管人员考核工作现已全面启动&#xff0c;这对于提升建筑行业的安全生产管理水平至关重要。为了确保广大考生能够顺利报名并参与考核&#xff0c;本文精心梳理了考核报名流程&#xff0c;并提供了证件照的规范处理方法。同时&#xff0c;针对证件照这一关键…

Java23种设计模式(四)

1、备忘录模式 备忘录模式&#xff08;Memento Pattern&#xff09;保存一个对象的某个状态&#xff0c;以便在适当的时候恢复对象&#xff0c;备忘录模式属于行为型模式。 备忘录模式允许在不破坏封装性的前提下&#xff0c;捕获和恢复对象的内部状态。 实现方式 创建备忘录…

Star、Star求Star

本章是介绍博主自己的一个小工具的。使用的PythonPyQt5开发的。顺带来求一波star&#x1f31f;&#x1f31f;&#xff01;&#xff01;&#xff01; 地址&#xff1a;https://gitee.com/qinganan_admin/PyCom Pycom是博主开发的串口工具&#xff0c;要是说对比其他串口工具&…

Apache HTTP server benchmarking tool(ab)-服务器基准测试工具一文上手

这是一个非常简单的工具&#xff0c;用途比较有限&#xff0c;只能针对单个URL进行尽可能快的压力测试。 ​ Windows下如何下载安装&#xff08;Linux安装十分简单&#xff09; Apache HTTP server benchmarking tool(ab)下载地址 ​ 资源 2.4版本 httpd-2.4.48-o111k-x64…

【FreeRTOS】创建任务_使用任务参数

参考《FreeRTOS入门与工程实践(基于DshanMCU-103).pdf》 文章目录 前言编写任务函数创建任务任务保护措施写了个bug疑问遗留问题效果freertos.c 学习链接 前言 配套源码&#xff1a;06_create_task_use_params 我们创建3个任务&#xff0c;使用同一个函数&#xff0c;但是在L…

【昇思初学入门】第三天打卡

数据集Dataset 心得体会 昇思提供了丰富的数据集&#xff0c;文本、图像、音频等都有内置MindSpore的Pipeline设计和并行处理能力使得数据预处理更加高效可通过GeneratorDataset接口实现自定义方式的数据集加载可迭代的数据集&#xff0c;可以通过迭代的方式逐步获取数据样本…

【进阶篇-Day4:使用JAVA编写石头迷阵游戏】

目录 1、绘制界面2、打乱石头方块3、移动业务4、游戏判定胜利5、统计步数6、重新游戏7、完整代码&#xff1a; 1、绘制界面 上述思路是&#xff1a;使用一个二维数组存放图片的编号&#xff0c;然后在后持遍历即可获取对应的图片。 代码如下&#xff1a; package com.itheima.s…

异步FIFO

目录 描述 输入描述&#xff1a; 输出描述&#xff1a; 参考代码 描述 请根据题目中给出的双口RAM代码和接口描述&#xff0c;实现异步FIFO&#xff0c;要求FIFO位宽和深度参数化可配置。 电路的接口如下图所示。 双口RAM端口说明&#xff1a; 端口名 I/O 描述 wclk i…

centos中安装并设置vsftpd

vsftpd是一个可安装在linux上的ftp服务器软件。 一、安装 安装前保证服务器能上互联网。如果不能上网&#xff0c;看看能不能设法利用局域网代理上网。 sudo yum -y install vsftpd二、配置 1、修改配置文件 cd /etc/vsftpd #修改之前记得备份&#xff01;&#xff01;&am…

D触发器(D Flip-Flop)与D锁存器(D Latch)

1 基础概念 我们先来简单回顾一下D触发器&#xff08;D flip-flop&#xff09;和D锁存器&#xff08;D latch&#xff09;的概念&#xff0c;以及它们在数字电路中的作用。 1.1 D触发器&#xff08;D Flip-Flop&#xff09; D触发器是一种数字存储器件&#xff0c;它在时钟信号…

深入理解计算机系统 CSAPP 家庭作业6.46

理解题意:G是有向图g的邻接矩阵 G[j*dim i] G[j*dim i] || G[i*dim j]; 通过i和j遍历G中的所有元素,||运算将遍历到的元素对称起来. 下面我们来优化col_convert(int *G, int dim) : void col_convert(int N, int G[N][N], int bsize) {if(bsize < 0 || bsize > N…

Elasticsearch基础(一):阿里云Elasticsearch简介

文章目录 阿里云Elasticsearch简介 一、什么是阿里云Elasticsearch 1、开源Elasticsearch 2、阿里云Elasticsearch 3、阿里云Elasticsearch介绍 4、总结 二、 阿里云Elasticsearch组件 1、X-Pack&#xff08;商业版扩展包&#xff09; 2、 Beats&#xff08;数据采集中…

调试器接口是什么?

目录 一、调试器接口 1.1 什么是下载调试器&#xff1f; 1.2 JTAG标准/协议 1.3 SWD标准 一、调试器接口 1.1 什么是下载调试器&#xff1f; 简单来讲&#xff0c;它就是一种能把PC端发送的命令&#xff08;通过USB协议&#xff09;转换为MCU能理解的语言&#xff08;SWD协…

媒体邀约有啥要注意的

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 媒体宣传加速季&#xff0c;100万补贴享不停&#xff0c;一手媒体资源&#xff0c;全国100城线下落地执行。详情请联系胡老师。 媒体邀约是邀请媒体参与活动或报道的重要过程&#xff0c…