2. 因子(factor)、缺失数据(na)、字符串、时间序列数据

news2024/11/20 1:26:42

课程视频链接:https://www.bilibili.com/video/BV19x411X7C6?p=1
本笔记参照该视频,笔记顺序做了些调整【个人感觉逻辑顺畅】,并删掉一些不重要的内容
系列笔记目录【持续更新】:https://blog.csdn.net/weixin_42214698/category_11393896.html

文章目录

  • 1.因子
  • 2.缺失数据【NA代表缺失值,not available的简称,用来存储缺失信息】
  • 3.字符串
  • 4.时间序列数据(数据类型:ts— time sequence)

1.因子

👷变量分类
- 名义型变量:比如省份
- 有序型变量:如:good、better、best
- 连续型变量:如年龄

在R中名义型变量有序型变量称为因子(factor)。
这些分类变量的可能值称为一个水平(level),例如good、better、best,都称为一个level。
有这些水平值构成的向量就称为因子。

举个例子,理解因子:
table函数进行频数统计
在这里插入图片描述
其中4、6、8就是因子
在这里插入图片描述

例子2:
f <- factor(c(“red”,“red”,“green”,“red”,“blue”,“green”,“blue”,“blue”))
week <- factor(c(“Mon”,“Fri”,“Thu”,“Wed”,“Mon”,“Fri”,“Sun”))
week <- factor(c(“Mon”,“Fri”,“Thu”,“Wed”,“Mon”,“Fri”,“Sun”),order = TRUE, levels = c(“Mon”,“Tue”,“Wed”,“Thu”,“Fri”,“Sat”,“Sun”))
在这里插入图片描述

cut()函数:划分区间?
在这里插入图片描述



2.缺失数据【NA代表缺失值,not available的简称,用来存储缺失信息】

这里缺失值NA表示没有,但注意没有并不一定就是0,NA是不知道是多少,也能是0,也可能是任何值
缺失值和值为零是完全不同的。
缺失值会被原封不动的保留和传送,如:
1+NA返回的还是NA
NA==0返回的还是NA

为何出现缺失数据?
- 机器断电,设备故障导致某个测量值发生了丢失;
- 测量根本没有发生,例如在做调查问卷时,有些问题没有回答,或者有些问题是无效的回答等。

跳过NA:
a <- c(NA ,1:49)    #共50个数
sum(a , na.rm=TRUE)
mean(a , na.rm=TRUE) #除总数时也跳过计数NA

是否包含NA:
install.packages(“VIM”)
library(VIM)
is.na(sleep) #使用sleep数据集,执行后每一个元素都是TRUE or FALSE
colSums(is.na(sleep)) #统计每列的缺失总数
rowSums(is.na(sleep)) #统计每行的缺失总数

去掉数据集中的缺失值:
c <- c(NA,1:20,NA,NA)    #共23个数
d <- na.omit( c )
如果将na.omit函数应用于一个数据框,则会将包含NA的每一整行删除掉。

处理缺失值包:
在这里插入图片描述
其他缺失数据:
- 缺失数据NaN,代表不可能的值
- Inf表示无穷,分为 正无穷lnf负无穷lnf,代表无穷大或者无穷小。

不同缺失值之间的差别:
- NA是存在的值,但是不知道是多少;
- NaN是不存在的;
- Inf存在,是无穷大或者无穷小,但是表示不可能的值。
如:
1/0返回Inf
-1/0返回-lnf
0/0返回NaN

是否是NaN或者无穷数:
is.nan(0/0)
is.infinite(1/0)



3.字符串

在R中字符串出现的地方一定加引号。
正则表达式:
在这里插入图片描述
🏠处理字符串的函数:
nchar(“Hello World”):返回字符串长度。
nchar(month.name):返回向量中每个元素字符串的长度。
nchar(c(12,2,345)):测量数值型向量,会将数值型向量转换为字符型向量,返回每个字符串的长度。
length(month.name):返回向量中元素的个数。
paste(“Everybody”,“loves”,“stats”,sep=“-”):连接字符串,以sep进行分隔。
substr(x=month.name,start=1,stop=3):返回起始点和结束点之间的字符串。
toupper(month.name):将字符串转换为大写。
tolower(month.name):将字符串转换为小写。
在这里插入图片描述

gsub(“^(\w)”,“\U\1”,tolower(temp),perl=T):将字符串首字母大写。
gsub(“^(\w)”,“\L\1”,tolower(temp),perl=T):将字符串首字母小写。

grep(pattern,x,fixed)函数:对向量中的具有特定条件的元素进行查询,并返回下标
fixed为FALSE,则搜索模式为正则表达式;为TRUE,则搜索模式为一个文本字符串。
如:
x <- c(“b”,“A+”,“AC”)
grep (“A+”,x,fixed=TRUE) 返回2,表示匹配的是x中的第2个元素。
grep (“A+”,x,fixed=FALSE) 返回2 3,这里的“A+”表示一个正则表达式,匹配的是x中的第2和3个元素。

match( )函数也可以进行字符串匹配,但是不支持正则表达式。
如:
match(“AC”,x):返回3。

strsplit( )函数:分割字符串。返回的是一个字符串列表。
如:
path <- “/user/local/bin/R”
strsplit(path,“/”)

outer( )函数:生成字符串成对组合。
如:
faces <- 1:13
suit <- c(“spades”,“clubs,“hearts”,“diamonds”)
outer(suit,face,FUN=paste,sep=”-")
在这里插入图片描述



4.时间序列数据(数据类型:ts— time sequence)

在R中,日期和时间被单独归为一个Date类,它与数字和字符串是不同的。
R中的时间序列数据集:sunspots , persidents
在这里插入图片描述

时间序列分析:
- 对时间序列的描述;
- 利用前面的结果进行预测。

Sys.Date():返回当前系统的时间。
在这里插入图片描述

字符串转换为Date,如:
a <- “2017-01-01”
as.Date(a) #还是字符串类型
as.Date(a,format=“%Y-%m-%d”)
注意:如果a <- “17-01-01”,则as.Date(a,format=“%y-%m-%d”)

seq( )函数:创建连续的时间点。
如: seq(as.Date(“2017-01-01”),as.Date(“2017-07-05”),by=5)
在这里插入图片描述

ts( )函数:生成时间序列。
sales <- round(runif(60,min=50,max=100)) # runif( )函数:生成60个50到100之间的随机数 ;round() 函数:取整
ts(sales,start = c(2010,5),end = c(2014,4),frequency = 1)
ts(sales,start = c(2010,5),end = c(2014,4),frequency = 4)
ts(sales,start = c(2010,5),end = c(2014,4),frequency = 12)
#生成的序列数据从2010年5月开始,到2014年4月,frequency为1代表以年为单位、为12代表以月份为单位、为4代表以季度为单位的频率变化。

在这里插入图片描述

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

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

相关文章

字符的编码与乱码

目录 前言 1 计算机中字符的编码分类 1.1 常见非Unicode编码 1.1.1 ASCII 1.1.2 ISO 8859-1 1.1.3 Windows-1252 1.1.4 GB2312 1.1.5 GBK 1.1.6 GB18030 1.1.7 Big5 1.1.8 编码汇总 1.2、Unicode编码 1.2.1 UTF-32 1.2.2 UTF-16 1.2.3 UTF-8 1.2.4 Unicode编码…

A1032 Sharing

Powered by:NEFU AB-IN Link 文章目录A1032 Sharing题意思路代码A1032 Sharing 题意 To store English words, one method is to use linked lists and store a word letter by letter. To save some space, we may let the words share the same sublist if they share the s…

2032.1.7 学习总结

1.string与int之间的相互转化问题 &#xff08;1&#xff09;int转string&#xff1a;使用to_string函数 引入头文件: #include<string> 转int&#xff0c;float&#xff0c;double都可以 string to_string (int val); string to_string (long val); string to_string…

Java外卖点餐系统小程序+数据库源码(带本地部署搭建文档)源码免费分享!

亲测Java在线点餐系统小程序数据库源码带本地部署搭建文档 需要源码学习可私信我获取。 小程序外卖扫码点餐为客户提供的是最方便的饮食方式,以快速、便捷的点餐业务送货上门为 -客户服务,这省去了客户很多不必要的时间和麻烦,给商家带来更多利益。同时,小程序外卖扫码点餐可…

STM32从固件库到HAL库

让坚持成为一种热爱&#xff0c;极致成为一种精神。历时10个月&#xff0c;目前我又重新回到了程序员的身份&#xff0c;2023想玩不一样的嵌入式。&#x1f680; 目录前言一、安装STM32CubeMX二、配置自己的HAL库MDK工程三、HAL库与固件库的区别1.句柄2.回调函数3.时钟配置4.HA…

Bulma - 免费开源的纯 CSS 前端 UI 框架,专注于构建移动优先的响应式 web 界面

简单易用的 CSS 框架&#xff0c;虽然只有一个 CSS 文件&#xff0c;但功能很强大&#xff0c;在国外很受开发者欢迎&#xff0c;推荐给大家。 关于 Bulma CSS 框架 Bulma 是一个简单、很容易自定义的 CSS UI 框架&#xff0c;提供了众多预定义好的样式&#xff0c;开发者可以…

宠物吸毛器控制板开发,构建理想人宠共居空间

目前养宠物的人越来越多&#xff0c;猫狗等宠物一直存在着严重的掉毛情况&#xff0c;宠物毛发可能会引起过敏等疾病反应&#xff0c;日常生活中清理工作是一大难题&#xff0c;市面上关于宠物的吸毛产品非常的少&#xff0c;为此沐渥开发了一款宠物吸毛器控制板&#xff0c;适…

奇怪,郭德纲小儿子八岁生日,现场照片发布不久却被删除了

2022年1月5日&#xff0c;对于北京德云社来说&#xff0c;是一个双喜临门好日子&#xff0c;首先德云社相声春晚开始录制&#xff0c;其次郭德纲的儿子郭汾阳&#xff0c;也要过八岁生日了。郭汾阳作为德云社的少班主&#xff0c;是郭德纲老师和董事长王惠所生&#xff0c;老来…

与ChatGPT的聊天:如何使用Python连接Neo4j并创建无向图?

0. 前言 尝试请ChatGPT帮写代码&#xff1a; 但发现ChatGPT可以给出逻辑上正确的程序&#xff0c;一旦具体深入询问&#xff0c;有可能会产生错误。 当然&#xff0c;也可能因为提问的人比较少&#x1f923; 不管怎么说&#xff0c;这篇可以当成是对ChatGPT茶余饭后的谈资&am…

数据库,计算机网络、操作系统刷题笔记28

数据库&#xff0c;计算机网络、操作系统刷题笔记28 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xff0c;oracle…

产品重要更新: GcExcel Java Edition 6.0.2 Crack

重要产品更新&#xff1a; JDK 6 和 7 已经走到了生命的尽头。自此&#xff0c; GcExcel Java Edition将不再支持它们&#xff0c;现在将从最新的v6 版本及更高版本开始以JDK 8为目标。GcExcel Java Edition 6.0.2 Crack by Ω578867473 GcExcel高速 Java Excel 电子表格 API …

Zookeeper简介

引言 在分布式环境下&#xff0c;如果舍弃SpringCloud&#xff0c;使用其他的分布式框架&#xff0c;那么注册心中&#xff0c;配置集中管理&#xff0c;集群管理&#xff0c;分布式锁&#xff0c;分布式任务&#xff0c;队列的管理想单独实现怎么办。 Zookeeper介绍 Zookeeper…

Flink 运行架构

1 Flink 运行时的组件 Flink 运行时架构主要包括四个不同的组件&#xff0c;它们会在运行流处理应用程序时协同工作&#xff1a;作业管理器&#xff08;JobManager&#xff09;、资源管理器&#xff08;ResourceManager&#xff09;、任务管理器&#xff08;TaskManager&#…

一篇文章让你掌握HTML(下)

目录 1. 列表标签 1.1 无序列表 1.2 有序列表 1.3 自定义列表 2. 表格标签 2.1 表格的基本标签 2.2 表格相关属性 2.3 表格标题和表头单元格标签 2.4 表格的结构标签 2.5 合并单元格 3. 表单标签 3.1 input系列标签 3.1.1 input系列标签-文本框 3.1.…

MATLAB-非线性方程(组)求解

求非线性方程或方程组解的问题也就是求函数零点的问题。对于任意函数&#xff0c;在求解范围内可能有零点&#xff0c;也可能没有;可能只有一个零点&#xff0c;也可能有多个甚至无数个零点。MATLAB没有可以求解所有函数零点的通用命令&#xff0c;下面将分别讨论一元函数和多元…

Nginx入门知识

一、什么是NginxNginx (engine x) 是一个高性能的HTTP和反向代理web服务器&#xff0c;Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器&#xff0c;在BSD-like 协议下发行。其特点是占有内存少&#xff0c;并发能力强&am…

JavaScript 字符串

文章目录JavaScript 字符串JavaScript 字符串字符串长度特殊字符字符串可以是对象字符串属性和方法字符串属性字符串方法JavaScript 字符串 JavaScript 字符串用于存储和处理文本。 JavaScript 字符串 字符串可以存储一系列字符&#xff0c;如 “John Doe”。 字符串可以是插…

如何连接远程mysql数据库(原创)

一、连接远程数据库&#xff1a;&#xff08;前提本地也有mysql的客户端&#xff09; 1、显示密码 如&#xff1a;MySQL 连接远程数据库&#xff08;192.168.5.116&#xff09;&#xff0c;端口“3306”&#xff0c;用户名为“rfid_hh”&#xff0c;密码“123456” C:/>mysq…

20230107报警器的测试

20230107报警器的测试 2023/1/7 13:01 新款夹子户外报警器防盗报警器果园自动打电话无线距离防水报警器 拼多多的货。不到30&#xffe5;&#xff0c;也就那么回事了&#xff0c;没有太高期望。 需要在微信公众号注册。 拿掉强磁铁之后&#xff0c;GSM模块通电了&#xff01;…

英国学校遭遇机密数据大规模泄露

在 2022 年发生攻击事件后&#xff0c;来自 14 所英国学校的机密数据已被黑客在线泄露。 泄露的文件包括孩子的 SEN 信息、学生护照扫描件、员工工资表和合同细节。在受影响的学校拒绝支付攻击者的赎金要求后&#xff0c;信息被泄露。 据报道&#xff0c;攻击和泄密是由威胁行…