广告
返回顶部
首页 > 资讯 > 精选 >R语言出现矩阵/缺失值怎么办
  • 806
分享到

R语言出现矩阵/缺失值怎么办

2023-06-08 01:06:07 806人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关R语言出现矩阵/缺失值怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。缺失值处理一般包括三步: 识别缺失数据; 检查导致数据缺失的原因; 删除包含缺失值的实例或用合理的数值

这篇文章将为大家详细讲解有关R语言出现矩阵/缺失值怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

缺失值处理一般包括三步:

识别缺失数据;

检查导致数据缺失的原因;

删除包含缺失值的实例或用合理的数值代替(插补)缺失值。

1.判断缺失值

函数is.na()、is.nan()和is.infinite()可分别用来识别缺失值、不可能值和无穷值。每个返回结果都是

TRUE或FALSE

na表示缺失值

nan表示NOT A NUMBER

infinite表示+-Inf

一定要亲手试x = 0/0,以及x = 1/0

>x <- NA> is.na(x)[1] TRUE> is.nan(x)[1] FALSE> is.infinite(x) [1] FALSE

函数complete.cases()可用来识别矩阵或数据框中没有缺失值的行

超级好用

#加载数据集>data(sleep,package = "VIM")#没有缺失值的行>sleep[complete.cases(sleep),]#列出有一个或多个缺失值的行>sleep[!complete.cases(sleep),]

2.图形探究缺失数

#自己生成图形>library("VIM")>aggr(sleep,prop = FALSE,numbers = TRUE)

matrixplot()函数可生成展示每个实例数据的图形

#自己生成图形marginplot(sleep[c("Gest","Dream")],phc=c(20),col=c("darkgray","red","blue"))

3.删除缺失值

函数complete.cases()可以用来存储没有缺失值的数据框或者矩阵形式的实例(行):

#可以把mydata替换成sleep,延续上面的代码>newdata <- mydata[complete.cases(mydata),]

同样的结果可以用na.omit函数获得:

#可以把mydata替换成sleep,延续上面的代码>newdata <- na.omit(mydata)

两行代码表示的意思都是:mydata中所有包含缺失数据的行都被删除,然后结果才存储到newdata中,以后拟合就用新数据newdata.

处理含缺失值的数据集时,成对删除常作为行删除的备选方法使用。对于成对删除,观测只是当它含缺失数据的变量涉及某个特定分析时才会被删除:

>cor(sleep,use = "pairwise.complete.obs")

3.1补全缺失值

R语言出现矩阵/缺失值怎么办

函数mice()首先从一个包含缺失数据的数据框开始,然后返回一个包含多个(默认为5个)完整数据集的对象。

每个完整数据集都是通过对原始数据框中的缺失数据进行插补而生成的。

由于插补有随机的成分,因此每个完整数据集都略有不同。

然后,with()函数可依次对每个完整数据集应用统计模型(如线性模型或广义线性模型),最 后 ,pool()函数将这些单独的分析结果整合为一组结果。

最终模型的标准误和p值都将准确地反映出由于缺失值和多重插补而产生的不确定性。

>library(mice)>data("sleep",package = "VIM")>imp <- mice(sleep,seed = 1234)#imp <- mice(sleep)>fit <- with(imp,lm(Dream~Span+Gest))fit>pooled <- pool(fit)>summary(pooled)imp>dataset2 <- complete(imp,action = 2)>cor(sleep,use = "pairwise.complete.obs")

dataset2 is the newData

下图为完整缺失值处理图片:

R语言出现矩阵/缺失值怎么办

补充:R语言读取数据空值

一、Txt文件

1. 文件中的内容有双引号,空值的时候是一对双引号

filename.txt 文件内容形如:

"ID" "ITEM"

"1080254842" "汉字"

"1080254842" "中文"

"1080594798" ""

"1080594798" ""

导入数据:

test <-read.table("filename.txt",header=TRUE)

空值部分并不是NA,R语言不会把他识别为NA,改为下面的语句,即可解决。

test <-read.table("filename.txt",header=TRUE,na.strings = "")

2. 文件中内容无双引号,空值即直接空白,形如下面:

ID ITEM

1080254842 汉字

1080254842 中文

1080594798

1080594798

导入数据:

test <-read.table("filename.txt",header=TRUE)

会出现错误:Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :3行没有2元素

第三行第二元素没有。

修改为如下即可:

test <-read.table("filename.txt",header=TRUE,fill=TRUE)

导入数据成功,但是,空值仍然不是NA,还需加上na.strings = "",

test <-read.table("filename.txt",header=TRUE, fill=TRUE, na.strings = "")

成功导入。

二、csv文件

test <-read.csv("test.csv",header=TRUE,sep=",",na.strings = "")

其中:

header =TRUE,表示把第一行作为标题。

sep=",",因为csv文件的列是用逗号分开的,加上sep=",",帮助R通过识别逗号来分割列。如果没加,会出现原本多列数据导入后变为一列的情况。

na.strings = "":处理缺失值问题。

关于“R语言出现矩阵/缺失值怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: R语言出现矩阵/缺失值怎么办

本文链接: https://www.lsjlt.com/news/250741.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • R语言出现矩阵/缺失值怎么办
    这篇文章将为大家详细讲解有关R语言出现矩阵/缺失值怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。缺失值处理一般包括三步: 识别缺失数据; 检查导致数据缺失的原因; 删除包含缺失值的实例或用合理的数值...
    99+
    2023-06-08
  • R语言 出现矩阵/缺失值的解决方案
    缺失值处理一般包括三步: 1. 识别缺失数据; 2. 检查导致数据缺失的原因; 3. 删除包含缺失值的实例或用合理的数值代替(插补)缺失值。 1.判断缺失值 函数is.na()、is...
    99+
    2022-11-11
  • R语言实现导出矩阵
    程序实在是调不出来了,我决定破釜沉舟,直接把所有表格都打印出来,看看数据到底哪儿有问题。 然后就开始了闹心的矩阵导出。。。 首先,百度了一下,数据导出的代码为: write.ta...
    99+
    2022-11-12
  • R语言怎么创建矩阵
    本篇内容主要讲解“R语言创建矩阵怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“R语言创建矩阵怎么实现”吧!矩阵向量vector用于描述一维数据,是R语言中最基础的数据结构形式矩阵matr...
    99+
    2023-06-08
  • 怎么在R语言中合并矩阵
    怎么在R语言中合并矩阵?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。什么是R语言R语言是用于统计分析、绘图的语言和操作环境,属于GNU系统的一个自由、免费、源代码开放的软件,它...
    99+
    2023-06-14
  • R语言怎么创建矩阵形式
    这篇文章主要介绍“R语言怎么创建矩阵形式”,在日常操作中,相信很多人在R语言怎么创建矩阵形式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”R语言怎么创建矩阵形式”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-09
  • r语言怎么将缺失值替换为0
    要将R语言中的缺失值替换为0,可以使用is.na()函数和ifelse()函数的组合。下面是一个示例代码: # 创建一个包含缺失值的...
    99+
    2023-10-24
    r语言
  • 怎么用R语言绘制Bubble Matrix气泡矩阵图
    这篇文章主要介绍“怎么用R语言绘制Bubble Matrix气泡矩阵图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用R语言绘制Bubble Matrix气泡矩阵图”文章能帮...
    99+
    2023-06-29
  • 怎么在R语言项目中实现一个向量和矩阵
    这期内容当中小编将会给大家带来有关怎么在R语言项目中实现一个向量和矩阵,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、向量运算向量是有相同基本类型的元素序列,一维数组,定义向量的最常用办法是使用函数c(...
    99+
    2023-06-08
  • r语言填充缺失值的方法是什么
    在R语言中,可以使用以下方法填充缺失值:1. 使用均值、中位数或众数填充:可以通过计算非缺失值的平均值、中位数或众数,然后用该值来填...
    99+
    2023-09-11
    r语言
  • r语言怎么找出异常值并删除
    在R语言中,可以使用以下方法找出异常值并删除:1. 使用箱线图(boxplot)方法找出异常值:首先,使用boxplot函数绘制数据...
    99+
    2023-09-14
    r语言
  • R语言怎么使用缺失数据的Bootstrap与Jackknife方法
    本篇内容介绍了“R语言怎么使用缺失数据的Bootstrap与Jackknife方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、题目下面...
    99+
    2023-06-25
  • centos6.5安装R语言出现问题怎么解决
    这篇文章主要讲解了“centos6.5安装R语言出现问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“centos6.5安装R语言出现问题怎么解决”吧!环境:虚拟机centos6.5...
    99+
    2023-06-03
  • 怎么在C语言中实现一个杨氏矩阵与杨辉三角
    这篇文章将为大家详细讲解有关怎么在C语言中实现一个杨氏矩阵与杨辉三角,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。C语言是什么C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层...
    99+
    2023-06-15
  • 使用R语言怎么实现因子型数值转数值型操作
    本篇文章为大家展示了使用R语言怎么实现因子型数值转数值型操作,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。因子(factor)转换成数值型(numeric)的规则是这样的:一共有n个数,那么转换后的...
    99+
    2023-06-14
  • 怎么在R语言中实现两表连接且输出不重复数据
    本篇文章给大家分享的是有关怎么在R语言中实现两表连接且输出不重复数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。说明:在项目过程中,数据量较大,用到的是data.table包...
    99+
    2023-06-14
  • 怎么用R语言绘图时实现输出希腊字符上下标及数学公式
    这篇文章主要讲解了“怎么用R语言绘图时实现输出希腊字符上下标及数学公式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用R语言绘图时实现输出希腊字符上下标及数学公式”吧!希腊字母使用希腊字...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作