【数据挖掘】练习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…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
