【数据挖掘】练习2:数据管理2
课后作业2:数据管理2
一:上机实验2
# 编写函数stat,要求该函数同时计算均值,最大值,最小值,标准差,峰度和偏度。
| install.packages("timeDate") library(timeDate) stat <- function(x) { result <- c( mean_value = mean(x), max_value = max(x), min_value = min(x), sd_value = sd(x), kurtosis_value = kurtosis(x), skewness_value = skewness(x) ) return(result) } |

# 设置随机种子
| set.seed(66) |
# 生成自由度为2的t分布的100个随机数t
| (t_values <- rt(100, df = 2)) |

# 通过函数stat计算t的均值,最大值,最小值,标准差,峰度和偏度。
| (result <- stat(t_values)) |

二:思考与实验总结
1:如何通过数据管理得到实际情况中需要的数据集格式?
主要通过以下数据管理方面的操作手段,获得实际情况的数据集格式。
| 编号 | 操作概念 | 操作内容 |
| 1 | 变量重命名 | 修改数据库和列表的变量名,或修改矩阵的行名和列名 |
| 2 | 缺失值分析 | 识别包含缺失值的观测,判断数据中是否存在缺失值,删除含有缺失值的观测 |
| 3 | 数据排序 | 按照降序或升序排序数据,返回排序后的向量、向量中每个数值对应的秩、或排序数据所在向量中的索引 |
| 4 | 随机抽样 | 实现放回简单或不放回简单随机抽样,对数据进行随机分组 |
| 5 | 字符串处理 | 从文本型数据中抽取信息,为打印输出和生成报告重设文本的格式 |
| 6 | 文本分词 | 对文本进行合理的分割,便捷地获取关键信息 |
操作流程主要为:创建新变量——缺失值分析——函数构建与使用——字符串处理——控制流设置语句的执行顺序。
2:merge函数的自行实现
Merge函数的主要功能是:通过共同列或者行名合并数据框,或者执行其他合并操作。
Merge函数的语法主要为:
| merge(x, y, by = intersect(names(x), names(y)), by.x = by, by.y = by, all = FALSE, all.x = all, all.y = all, sort = TRUE, suffixes = c(".x",".y"), no.dups = TRUE, incomparables = NULL, ...) |
其中,x和y参数表示要合并的数据框或对象;by、by.x和by.y指定合并的列;all、all.x和all.y是控制填充的逻辑值;sort决定结果是否按照公共列排序;suffixes标明后缀出处。
(1)当合并所用到的共同列在数据框中的列名称相同时
【1】构建数据框
| 名称 <- c('郭靖','黄蓉','华筝','梅超风','杨康','穆念慈') 性别 <- c('M','F','F','F','M','F') 亲属 <- c('郭啸天','黄药师','铁木真','陈玄风','完颜洪烈','杨铁心') data <- data.frame(名称,性别,亲属,stringsAsFactors = F) data 名称 <- c('郭靖','黄蓉','王重阳','梅超风','欧阳锋','一灯大师') 身份 <- c('侠之大者','女中诸葛','全真教掌门','黑风双煞','白驼山庄主','大理高僧') 武功 <- c('降龙十八掌',' 落英神剑掌','全真剑法','九阴白骨爪','蛤蟆功','一阳指') pd <- data.frame(名称,身份,武功,stringsAsFactors = F) pd |

【2】按照默认方式合并,即有共同属性的列被合并(此处为名称)
| merge(data, pd) |

(2)当合并所用到的共同列在数据框中的列名称相同时
【1】构建数据框
| # merge()函数 名称 <- c('郭靖','黄蓉','华筝','梅超风','杨康','穆念慈') 性别 <- c('M','F','F','F','M','F') 亲属 <- c('郭啸天','黄药师','铁木真','陈玄风','完颜洪烈','杨铁心') data <- data.frame(名称,性别,亲属,stringsAsFactors = F) data 姓名 <- c('郭靖','黄蓉','王重阳','梅超风','欧阳锋','一灯大师') 身份 <- c('侠之大者','女中诸葛','全真教掌门','黑风双煞','白驼山庄主','大理高僧') 武功 <- c('降龙十八掌',' 落英神剑掌','全真剑法','九阴白骨爪','蛤蟆功','一阳指') pd <- data.frame(姓名,身份,武功,stringsAsFactors = F) pd |

【2】按照指定列合并
| merge(data,pd,by.x='名称',by.y='姓名') |

(3)逻辑值all为假时
【1】交集合并(默认情况)
| merge(data,pd,by.x='名称',by.y='姓名',all=F) |

(4)逻辑值all为真时
【1】并集合并
| merge(data,pd,by.x = '名称',by.y = '姓名',all=TRUE) |

(5)逻辑值all.x=TRUE且all.y=FALSE时
【1】取x的全集与匹配的y数据
| merge(data,pd,by.x = '名称',by.y = '姓名',all.x=TRUE,all.y=FALSE) |

(6)逻辑值all.y=TRUE且all.x=FALSE时
【1】取y的全集与匹配的x数据
| merge(data,pd,by.x = '名称',by.y = '姓名',all.y=TRUE,all.x=FALSE) |

(7)sort的调用
【1】是否按照公共列排序
| merge(data,pd,by.x = '名称',by.y = '姓名',all=TRUE,sort=TRUE) merge(data,pd,by.x = '名称',by.y = '姓名',all=TRUE,sort=FALSE) |

(8)suffix的调用
【1】构建数据框
| # merge()函数 名称 <- c('郭靖','黄蓉','华筝','梅超风','杨康','穆念慈') 性别 <- c('M','F','F','F','M','F') 亲属 <- c('郭啸天','黄药师','铁木真','陈玄风','完颜洪烈','杨铁心') 武功 <- c('空明拳','兰花拂穴手','无','摧心掌','九阴白骨爪','逍遥游拳法') data <- data.frame(名称,性别,亲属,武功,stringsAsFactors = F) data 姓名 <- c('郭靖','黄蓉','王重阳','梅超风','欧阳锋','一灯大师') 身份 <- c('侠之大者','女中诸葛','全真教掌门','黑风双煞','白驼山庄主','大理高僧') 武功 <- c('降龙十八掌',' 落英神剑掌','全真剑法','九阴白骨爪','蛤蟆功','一阳指') pd <- data.frame(姓名,身份,武功,stringsAsFactors = F) pd |

【2】默认显示变量来源的后缀
| merge(data,pd,by.x = '名称',by.y = '姓名',all=TRUE,sort=TRUE,suffixes = c('.x','.y')) |

【3】个性化显示变量来源的后缀
| merge(data,pd,by.x = '名称',by.y = '姓名',all=TRUE,sort=TRUE,suffixes = c('.data','.pd')) |

三:实验参考
[1] merge()函数--R语言_merge函数-CSDN博客
[2] R语言的merge函数_r语言merge函数用法-CSDN博客
相关文章:
【数据挖掘】练习2:数据管理2
课后作业2:数据管理2 一:上机实验2 # 编写函数stat,要求该函数同时计算均值,最大值,最小值,标准差,峰度和偏度。 install.packages("timeDate") library(timeDate) stat <- func…...
【iOS】——Blocks
文章目录 前言一、Blocks概要1.什么是Blocks 二、Block模式1.block语法2.block类型变量3.截获自动变量值4._Block修饰符5.截获的自动变量 三、Blocks的实现1.Block的实质2.截获自动变量值3._Block说明符4.Block存储域 前言 一、Blocks概要 1.什么是Blocks Blocks是C语言的扩…...
体验OceanBase OBD V2.5.0 组件内扩容和组件变更
背景 OBD 是OceanBase的命令行部署工具,在 obd V2.5.0 版本之前,其主要功能主要是部署各类组件,例如 oceanbase-ce,obproxy-ce,obagent 等。然而,它并不支持组件的变更操作以及组件内部的扩缩容调整。具体来说: 1、若…...
关于前端的学习
目录 前言: 1.初识HTML: 1.1超文本: 1.2标记语言: 2.关于html的基本框架: 3.HTML基本文字标签: 3.1.h标题标签: 3.3 文本内容: 3.4换行的和分割的: 3.5 特殊文字标签: 3.5.1表面上看着三对的结果呈现都是一样的: 3.5.2但是其背后的效果其实是不一样的: 3.6转义字符:…...
DataX脚本告别手动编写,用大模型或Java代码自动生成
在离线数仓开发中,DataX支持多种数据源,性能好抽取速度快。美中不足的是,对需要抽取的每一张表都需要写配置文件,这样很繁琐和耗时。可以用大模型提示词来节省这方面的工作量。ChatGPT等大模型并不能很智能提供一个完全正确的,需要提供一个模板让它参考。 方法1:用大模型…...
ASP.NET通过Appliaction和Session统计在人数和历史访问量
目录 背景: Appliaction: Session: 过程: 数据库: Application_Start: Session_Start: Session_End: Application_End: 背景: 事件何时激发Application_Start在调用当前应用…...
在基于全志V851se的TinyVision上手动构建 Linux 6.1 + Debian 12 镜像
构建 SyterKit 作为 Bootloader SyterKit 是一个纯裸机框架,用于 TinyVision 或者其他 v851se/v851s/v851s3/v853 等芯片的开发板,SyterKit 使用 CMake 作为构建系统构建,支持多种应用与多种外设驱动。同时 SyterKit 也具有启动引导的功能&a…...
使用jenkins-pipeline进行利用项目文件自动化部署到k8s上
Discard old builds:丢弃旧的构建,目的是管理存储空间、提升性能以及保持环境整洁 Do not allow concurrent builds: 禁止并发构建是指同一时间内只允许一个构建任务执行,避免多个构建同时运行可能带来的问题 Do not allow the pipeline to resume if the controller resta…...
unity发布安卓获取读取权限
一、Player Settings 设置 Player Settings>Player>Other Settings> Android > Write Permission > External (SDCard). 二、代码 using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine; using UnityEngine.Andr…...
VSCode下使用github初步
由于各种需要,现在需要统一将一些代码提交搞github,于是有了在VSCode下使用github的需求。之前只是简单的使用git clone,代码提交这些用的是其他源代码工具,于是得学习实操下,并做一记录以备后用。 安装 VSCode安装 …...
华为设备配置命令大全
目录 一、华为设备常用命令视图 二、返回命令和保存命令 三、设置设备名称 四、关闭泛洪信息 五、设置设备接口的IP地址和子网掩码 六、交换机的登录 6.1、设置Consile接口密码 6.2、设置Telent接口密码 七、VLAN配置 7.1、创建VLAN 7.2、进入vlan视图 7.3、把端口…...
详解基于快速排序算法的qsort的模拟实现
目录 1. 快速排序 1.1 快速排序理论分析 1.2 快速排序的模拟实现 2. qsort的模拟实现 2.1 qsort的理论分析 2.2 qsort的模拟实现 qsort函数是基于快速排序思想设计的可以针对任意数据类型的c语言函数。要对qsort进行模拟实现,首先就要理解快速排序。 1. 快…...
鸿蒙Harmony应用开发—ArkTS声明式开发(绘制组件:Polyline)
折线绘制组件。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 无 接口 Polyline(value?: {width?: string | number, height?: string | number}) 从API version 9开始,…...
项目风险管理
项目风险管理 1 规划风险管理2 识别风险1.2 输出 3 实施定性风险分析3.1 输入3.2 输出 4 实施定量风险分析4.1 输入4.2 输出 5 规划风险应对5.1 输入5.2 输出 6 实施风俗应对6.1 输入6.2 输出 7 监督风险7.1 输入7.2 输出 项目风险是一种不确定的事件或条件,一旦发生…...
glib交叉编译
Glib交叉编译 逸一时,误一世。 —— 田所浩二「夏夜银梦」 交叉编译 GLib 涉及到在一个平台上生成能够在另一个平台上运行的目标文件。在这种情况下,我们将会在一台主机(通常是开发机器)上使用交叉编译工具链来构建 GLib 库&#…...
Android11实现能同时开多个录屏应用(或者共享屏幕或投屏时录屏)
1.概述 Android原生对MediaProjection的管理逻辑,是如果服务端已经保存有MediaProjection的实例,那么再次创建的时候,之前的MediaProjection实例就会被暂停,并且引用指向新的实例,也就导致了当开启后一个录屏应用时&a…...
音视频实战---音频重采样
1、使用swr_alloc()创建重采样实例 2、使用av_opt_set_int函数设置重采样输入输出参数 3、使用swr_init函数初始化重采样器 4、使用av_get_channel_layout_nb_channels函数计算输入源的通道数 5、给输入源分配内存空间–av_samples_alloc_array_and_samples 6、计算输出采…...
主存中存储单元地址的分配
主存中存储单元地址的分配 为什么写这篇文章? 因为我看书中这部分时,看到下面的计算一下子没反应过来: 知识回顾(第1章) 计算机系统中,字节是最小的可寻址的存储单位,通常由8个比特(bit&…...
Python和R的区别是什么,Python与R的应用场景是什么?
如果你这么问,那么你可能正站在数据科学的起点。对于志在成为数据专业人员的你来说,学习编程是无疑的。我想行你早就听过Python 与R的比较之声,并在选择中感到困惑。在此,我想说,也算是一种安慰吧:对于语言…...
azure databricks 常用的JDBC连接
做个笔记常用的spark-jdbc连接 1、mysql 的连接 def query_mysql(database,sqlstr):jdbcUsernamejdbcHostname " "jdbcDatabase ""jdbcPort 3306mysql_df spark.read \.format("jdbc") \.option("driver","com.mysql.cj.jdb…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
【深度学习新浪潮】什么是credit assignment problem?
Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...
jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...
32单片机——基本定时器
STM32F103有众多的定时器,其中包括2个基本定时器(TIM6和TIM7)、4个通用定时器(TIM2~TIM5)、2个高级控制定时器(TIM1和TIM8),这些定时器彼此完全独立,不共享任何资源 1、定…...
鸿蒙HarmonyOS 5军旗小游戏实现指南
1. 项目概述 本军旗小游戏基于鸿蒙HarmonyOS 5开发,采用DevEco Studio实现,包含完整的游戏逻辑和UI界面。 2. 项目结构 /src/main/java/com/example/militarychess/├── MainAbilitySlice.java // 主界面├── GameView.java // 游戏核…...
