R语言

R语言| 缺失值判断

我们两清 提交于 2020-03-06 22:30:49
缺失值判断 一、缺失值判断 通常用“NA"表示,判断数据是否存在缺失值的常用方法 使用函数is.na( ) 使用函数is.na( ),该函数是判断缺失值的最基本的函数。可以用于判断不同的数据对象,如向量、列表和数据框. 其函数的基本书写格式为:is.na( x ) 判断数据集中是否存在缺失值,如果存在,返回 TRUE ; 如果不存在,则返回FALSE 例: > library ( DMwR) > data ( "algae" ) > sum ( is . na ( algae ) ) [ 1 ] 33 可以看到数据集algae中一共有33个缺失值 使用函数complete.cases( ) complete.cases( )判断数据集的每一行是否存在缺失值,如果不存在,则返回TRUE,如果存在,则返回TRUE。 例: > sum ( !complete . cases ( algae ) ) [ 1 ] 16 > algae [ !complete . cases ( algae ) , ] #输出含有缺失值的行 可以看到数据集algae一共有16行记录存在缺失值 Summary( )判断数据集中分类变量是否含有缺失值 例: 对输出结果进行分析,如可以看到变量mxPH中含有1个缺失值,变量CHla中含有12个缺失值。 二、缺失模型判断 在处理缺失值之前,需要先对缺失模式进行判断

R语言| 缺失值的处理方法——多重插补法:利用mice()包

☆樱花仙子☆ 提交于 2020-03-06 16:36:24
从今天开始要记录自己的学习笔记啦~~~ 2020.3.5 缺失值的处理方法——多重插补法 1 基本思想 利用蒙特卡洛模拟法(MCMC)将原始数据插补成几个完整数据集,在每个数据集中利用线性回归(lm)或广义线性规格(glm)等方法进行插补建模,再将这些完整的模型整合到一起,评价插补模型的优劣并返回完整数据集。该方法主要利用程辑包mice中的mice( )进行。 大致步骤如下: 缺失数据集——MCMC估计插补成几个数据集——每个数据集进行插补建模(glm、lm模型)——将这些模型整合到一起(pool)——评价插补模型优劣(模型系数的t统计量)——输出完整数据集(compute) 2 mice函数基本书写格式 R语言输入help(mice)可获取详细信息 mice( data, m=5, method=vetor(“charater”,length=ncol(data)), seed=NA,defaultMethod=c(“pmm”,“logger”,“polyreg”,“poor”)…) data:一个包含完整数据和缺失数据的矩阵或数据框 m:指定的多重插补数,默认值为5 method:一个字符串,或者长度与数据集列数相同的字符串向量,用于指定数据中的每一列采用的插补方法,单一字符串指定所有列用相同的方法插补,字符串向量指定不同列采用不同的方法插补,默认插补法取决于需要插补的目标列

R语言3.5 判别分析

孤街浪徒 提交于 2020-03-05 23:00:28
我的梦想就是做一条咸鱼 判别分析 多元中用于判别样本所属类型的一种统计分析方法。在已知的分类之下,对新的样本,可以利用此法选定一判别标准,以判定将该新样品放置于哪个类中。 判别分析的种类:确定性判别(Fisher型判别)、概率性判别(Bayes型判别) 确定性 1.线性判别分析 eg 今天和昨天湿温差x1及气温差x2是预报明天是否下雨的两个重要因子,试建立Fisher线性判别函数,如测得今天x1=8.1,x2=2.0试报明天是雨天还是晴天? 数据: 基本统计分析 箱线图看出,两组湿温的均值差别不大,接下来做t检验 p值>0.05,所以无显著差别 图中气温差有显著的差别 t检验,p值<0.05,有显著区别。 Logistic模型分析 注意G-1,结果发现变量x2对预测有明显影响。 线性判别分析函数lda的用法 lda(formula,data,…) formula形如y~x1+x2+…的公式框架,data数据框 做判别分析时先画图直观看一下数据 图中看可以做判别分析。 做Fisher判别分析需要调用MASS包 Fisher线性判别函数 a1=-0.1035 a2=0.2248 进一步做判断 其中有两个判断错误。 符合率是0.9 两总体距离判别 马氏距离: 判别准则: 当方差相等时,距离判别等于Fisher判别 当方差不相等时不能用Fisher判别要有二次判别函数,qda函数的用法

Coding and Paper Letter(七十六)

南笙酒味 提交于 2020-03-04 07:46:33
新一期资源整理。 1 Coding: 1.遥感变化检测相关资源。 awesome remote sensing change detection 2.计算机组成原理流水线资源。 awesome pipeline 3.R语言包salmix,用极大似然方法拟合时间序列数据的概率分布。 salmix 4.实现地球动图的代码与说明。 earth atlas of space 5.R语言版本rsample,用于创造和综合不同类型的重采样对象。 rsample 6.使用NGINX在HTTPS (DoH/DoT网关)和GSLB进行域名系统配置的示例。 nginx dns 7.漂亮和好用的Mac系统上的Redis的数据库管理应用。 medis 8.另一个快速,更好更稳定的redis数据库桌面应用,可以在Linux,Windows和Mac系统上编译。 AnotherRedisDesktopManager 9.Vesper(物种库可视化)是一个可视化的集合,用于检查达尔文核心档案文件(DWCAs),包括分类、地理和时间视图。 vesper 10.使用Jupyter notebook和Jekyll创建一本在线书籍。 jupyter book 11.文献引用格式文件。可以用于Latex的CSL文件。 styles 12.Python里的统计气候降尺度实现。 scikit downscale 13

R语言安装xlsx包踩坑

北战南征 提交于 2020-03-03 15:26:41
R安装xlsx包踩坑 问题原因: 报错问题: 直接install.packages(“xlsx”)安装不上 载入需要的程辑包:rJava Error : loadNamespace()里算’rJava’时.onLoad失败了,详细内容: 调用: fun(libname, pkgname) 错误: JAVA_HOME cannot be determined from the Registry 错误: 无法载入程辑包‘rJava’ 原因: 可能是电脑未安装 java 解决方法 1.安装java 安装最新版本的java。如果你用的R是64位的,请下载64位java。 下载地址: http://www.java.com/en/download/manual.jsp 下载windows offline(64) 要安装在 C:\Program Files\Java 下面** [for 64-bit version library(rJava)] ; win8的尤其小心不要安装为C:\Program Files(x86)。 [(x86) for 32-bit version library(rJava)]**: 在R中加载环境,即一行代码,路径要依据你的java版本做出更改。 Sys.setenv(JAVA_HOME=‘C:\Program Files\Java\jre1.8.0_45\’)

R语言基本命令,dataframe增删改查

感情迁移 提交于 2020-03-02 08:17:39
基本操作: 查询变量类型(假设变量名是a) class(a) 在R语言中: T 代表--> True F 代表--> False 与、或运算符 读取: 读取csv文件到dataframe(字符串不当作factor类型来处理,csv的na不作处理,不当成NaN对待,原封不动字符串) df1 <- read.csv("", stringsAsFactors=F, na.strings = NULL) 读取系统库内数据 df1 <- iris 选取行(与一般语言不同,R语言第一行是从序号1开始,而不是序号0): df1[1:4,] 选取列(假设选取2、3、4列) df1[,2:4] 按照列名选取 df1[1:3,c("Sepal.Length", "Sepal.Width")] 把相应条件的列选取出来: df1[df1$Sepal.Length > 7, ] df1[df1$Sepal.Length > 7 & df1$Sepal.Width < 3, ] 对某列数据结构转换: df1$Species = as.character(df1$Species) # 如果不对字符串列进行转换,或者读取csv的时候字符串读成了factor,会报warning # Warning message: # In `[<-.factor`(`*tmp*`, ri, value = "adsf") :

R语言读取EXCEL文件的3种方法

风格不统一 提交于 2020-03-02 07:38:15
R读取excel文件中数据的方法: 电脑有一个 excel 文件,原始的文件路径是:E :\R workshop\mydata\biom excel数据为5乘2阶矩阵,元素为 Year biom 2003 22.5 2004 20.6 2005 20.8 2006 21.3 方法1:将. xls另存为.csv格式,然后用read.csv > data<-read.csv("E:\\R workshop\\mydata\\biom.csv", header=T) > data Year biom 1 2003 22.5 2 2004 20.6 3 2005 20.8 4 2006 21.3 方法2:将. xls另存为.txt格式,然后用read.table > data<-read.table("E:\\R workshop\\mydata\\biom.txt", header=T) > data Year biom 1 2003 22.5 2 2004 20.6 3 2005 20.8 4 2006 21.3 方法3:打开excel,全选里面的内容,点击复制,然后在R中输入以下代码 > data <- read.table("clipboard", header = T, sep = '\t') > data Year biom 1 2003 22.5 2 2004 20.6 3

应用统计学与R语言实现笔记(番外篇一)——判别分析更正

我怕爱的太早我们不能终老 提交于 2020-02-29 05:43:00
最近经历了很多事情,一言难尽。终究还是要回来更新博客的。新的一年先把旧的问题解决了再来开始新篇章。在年前有两位小伙伴指出了我在判别分析一章中的一些问题。主要针对这篇做些拓展和讨论。 应用统计学与R语言实现学习笔记(十一)——判别分析 1 两位细心的读者 这里要感谢两位非常细心的读者,第一位是Accelerator。 第二位是位来自UESTC的大三本科小鲜肉。 这两位细心的读者对博客中的一些公式提出了一些问题。对此,作为作者表示非常衷心的感谢。也说声抱歉,由于家里和学习上的事情,一直耽搁着没有好好修改。接下来主要针对这些部分来谈谈。 2 主要问题及解决 1 Accelerator的问题。 关于这个下标确实是我这边的问题,出现了错误,目前已订正。 2 来自UESTC大三小鲜肉的问题 这位小鲜肉非常仔细阅读了博客,并且提出了如下的几个问题。 1.这两张图是一个问题,主要是两总体协方差相等情况下的推导过程。 2.这张图是关于W的下标问题。 3.单位向量与投影的问题。 由于这位童鞋问题较多且细致,故针对此一一回答。 第一个部分的推导问题,事实上这位童鞋的理解并没有问题,代换也是没有问题的,他的理解没有错,而我这边主要有个地方写的不对,就是关于总体的协方差与样本估计的协方差符号搞混了。其他的只是符号选用的不同,实质是一样的。为了确保大家这部分不会有其他问题,我在这里重新整理和推导一下。

给R语言读取Excel表的能力

纵然是瞬间 提交于 2020-02-28 06:11:24
Excel是企业电子表格处理的事实标准格式。R本身都是处理各种文本格式,像是CSV,或者自己的二进制格式文件。让两批人可能够彼此沟通,就必须让R能够读取xlsx格式。 R专门处理Excel文件的包是xlsx。 直接在线安装 > install.packages("xlsx") also installing the dependencies ‘rJava’, ‘xlsxjars’ trying URL 'https://mirrors.tongji.edu.cn/CRAN/bin/windows/contrib/3.6/rJava_0.9-11.zip' Content type 'application/zip' length 832080 bytes (812 KB) downloaded 812 KB trying URL 'https://mirrors.tongji.edu.cn/CRAN/bin/windows/contrib/3.6/xlsxjars_0.6.1.zip' Content type 'application/zip' length 9485571 bytes (9.0 MB) downloaded 9.0 MB trying URL 'https://mirrors.tongji.edu.cn/CRAN/bin/windows/contrib/3.6

阿里P7高级架构师分享6年多的Java工作经验(想冲破瓶颈者必看)

梦想与她 提交于 2020-02-27 20:27:18
很多工作了五年左右的程序员每天已经习惯了机器般的写代码,如果是这样那么你永远只会是个基础程序员,因为你不能只会用,你要知道原理,不至于让你自己实现一个出来,但是基本原理要知道。 到了这个阶段,你要懂得JVM基本结构,要知道垃圾回收机制,常用垃圾回收算法,JVM简单调优参数; 数据库也是个重头戏,你要知道mysql事务隔离机制的实现,怎么优化sql , 要知道springmvc流程 spring的原理 事务传播机制,mybatis流程原理, 乐观锁悲观锁什么情况用,你要学会考虑系统瓶颈,系统容灾,单点故障, 你要懂得一致性是怎么回事,cap理论 paxos算法 以及zookeeper干嘛用的,能解决什么问题? 你要懂得soa架构,dubbo , 微服务 spring boot spring cloud 这些高级框架 尝试用一用,谷歌,开源社区 将要取代百度成为你解决问题的主要动力和前进的方向, 你会有种一览众山小的感觉,你会觉得弄个百万并发的系统其实并不难,难的是后续问题,日志处理 运维问题, 关于运维我给不了太多建议,可以了解下 zabbix 之类的 可以去学习下 docker 微服务加docker将是未来的趋势。 学到这个地步,你大概已经不用担心工作问题,这种三五年经验的高级程序员需求永远很旺盛,注意 我说的是三五年学习实践经验,不是三五年一直crud经验。这个时候你如果在北上广