【数据挖掘】练习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博客

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

论文笔记:液体管道泄漏综合检测与定位模型

0 简介 An integrated detection and location model for leakages in liquid pipelines 1 摘要 许多液体&#xff0c;如水和油&#xff0c;都是通过管道运输的&#xff0c;在管道中可能发生泄漏&#xff0c;造成能源浪费、环境污染和对人类健康的威胁。本文描述了一种集成的…

使用Composer安装Laravel框架

使用Composer安装Laravel框架&#xff0c;不指定版本则安装当下最新版本 composer create-project laravel/laravel laravel-demo 至此&#xff0c;安装框架完成&#xff0c;这里安装的是Laravel11.0.7版本的 进入项目根目录&#xff0c;运行项目 cd laravel.11.0.7 // 进…

JavaScript之继承

继承 父类与子类 子类是父类的一个子集 比如&#xff1a;人类和医生类&#xff0c;医生类是人类的子集&#xff1b;人类是父类&#xff0c;医生类是子集 父类与子类在特性&#xff08;属性和方法&#xff09;上有什么关系 方法&#xff1a;子类对象可以调用父类原型上的方…

Django 反向解析路由

app2.urls.py from django.urls import path, re_path from . import viewsurlpatterns [path(index, views.index, nameindex),path(url_reverse, views.url_reverse, nameapp2_url_reverse), # 使用reverse()方法反向解析 ,name对于视图的reverse("app2_url_reverse&…

LeetCode每日一题【54.螺旋矩阵】

思路&#xff1a;模拟&#xff0c;初始化上下左右4个方向的边界&#xff0c;逐步收缩&#xff0c;注意要及时判断元素是否已经放满&#xff0c;否则会放入多余元素 class Solution { public:vector<int> spiralOrder(vector<vector<int>>& matrix) {int…

Linux:Gitlab:16.9.2 (rpm包) 部署及基础操作(1)

1.基础环境 我只准备了一台gitlab服务器&#xff0c;访问就用真机进行访问&#xff0c;接下来介绍一下详细配置 centos7 内网ip:192.168.6.7 外网ip:172.20.10.4 运行内存&#xff1a;4G CPU:4核 先去配置基础环境 关闭防火墙以及selinux 再去下载基础的运行…

【Unity动画】Unity如何导入序列帧动画(GIF)

Unity 不支持GIF动画的直接播放&#xff0c;我们需要使用序列帧的方式 01准备好序列帧 02全部拖到Unity 仓库文件夹中 03全选修改成精灵模式Sprite 2D ,根据需要修改尺寸&#xff0c;点击Apply 04 创建一个空物体 拖动序列上去 然后全选所有序列帧&#xff0c;拖到这个空物体…

Kafka:分布式消息队列

1. 简介 介绍 Kafka 的概述、优势和劣势&#xff0c;以及应用场景。 2. 基本概念 2.1 架构 一个典型的 Kafka 体系架构包括若干 Producer、若干Broker、若干 Consumer&#xff0c;以及一个ZooKeeper集群。 ZooKeeper是Kafka用来负责集群元数据的管理、控制器的选举等操作的…

java的成员变量和局部变量

1、什么是成员变量和局部变量&#xff1f; 2、成员变量和局部变量区别 区别 成员变量 局部变量 类中位置不同 类中方法外 方法内或者方法声明上 内存中位置不同 堆内存 栈内存 生命周期不同 随着对象的存在而存在&#xff0c;随着对象的消失而消失 随着方法的调用而…

Kali Linux 更换优质国内源

文章目录 环境说明1 Kali Linux 源简介2 Kali Linux 更换国内源 环境说明 操作系统&#xff1a;kali-linux-2024.1-installer-amd64 1 Kali Linux 源简介 所谓的 Kali Linux 源&#xff0c;你可以将它理解为软件仓库&#xff0c;系统通过它安装和更新软件&#xff1b;源的服务…

人事管理系统|基于JSP+ Mysql+Java+ B/S结构的人事管理系统设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java&#xff0c;ssm&#xff0c;springboot的平台设计与实现项目系统开发资源&#xff08;可…

vue3 reactive丢失响应式

问题 使用 reactive 构造响应式对象时&#xff0c;当对其进行重新赋值后&#xff0c;会导致原有变量失去响应式&#xff0c;页面不会发生联动更新 例如&#xff1a; 1、使用 reactive 定义一个响应式的对象变量 let data1 reactive({name: 小李,date: 2024-03-18,address: xx…

使用JAXB生成XML的Java对象

文章目录 标题使用JAXB生成XML的Java对象根据xml生成xsd文件&#xff1a;下载trang.jar&#xff1a;使用trang.jar生成xml的xsd文件&#xff1a; 使用JAXB的xjc生成java对象&#xff1a; 标题使用JAXB生成XML的Java对象 根据xml生成xsd文件&#xff1a; 下载trang.jar&#x…

Unity UGUI之Toggle基本了解

在Unity中&#xff0c;Toggle一般用于两种状态之间的切换&#xff0c;通常用于开关或复选框等功能。 它的基本属性如图&#xff1a; 其中&#xff0c; Interactable&#xff08;可交互&#xff09;&#xff1a;指示Toggle是否可以与用户交互。设置为false时&#xff0c;禁用To…

【Selenium(一)】

简介 Selenium是一个开源的自动化测试工具&#xff0c;主要用于Web应用程序的自动化测试。它支持多种浏览器&#xff0c;包括Chrome、Firefox、Internet Explorer等&#xff0c;以及多种编程语言&#xff0c;如Java、Python、C#、Ruby等&#xff0c;使得它成为Web自动化测试中…

学习笔记Day11:初探Linux

Linux系统初探 Linux系统简介 发行版本Ubuntu/centOS&#xff0c;逻辑一样&#xff0c;都可以用。 服务器 本质是一台远程电脑&#xff0c;大多数服务器是Linux系统&#xff0c;通常使用命令行远程访问而不是桌面操作。LInux服务器允许多用户同时访问。NGS组学测序数据上游…

Redis 7.0.X 在Windows下编译支持TLS连接,遇坑埋坑

微信公众号&#xff1a;数据库杂记 个人微信: iiihero 我是iihero. 也可以叫我Sean. iiheroCSDN(https://blog.csdn.net/iihero) Sean墨天轮 (https://www.modb.pro/u/16258) 数据库领域的资深爱好者一枚。 水木早期数据库论坛发起人 db2smth&#xff0c;早期多年水木论坛数…

VSCode创建用户代码片段-案例demo

示例 - 在线生成代码片段 Vue3代码片段 {"vue3": {scope": "javascript,typescript,html,vue","prefix": "vue3","body": ["<template>","$1","</template>",""…

Java后端面试:框架篇高频面试(Spring、SpringMVC、SpringBoot、MyBatis)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;Java后端面试&#xff1a;MySQL面试篇&#xff08;底层事务、SQL调优&#xff09; &#x1f4da;订阅专栏&#xff1a;Java后端面…

HQYJ 3-18 整理

1.OSI七层体系结构&#xff1a;物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 TCP/IP四层结构&#xff1a;网络接口层、网际层、传输层、应用层 五层结构&#xff1a;物理层、数据链路层、网络层、传输层、应用层 2.一帧数据的说明&#xff1a;大小为64-1518…