【R语言基础】01.R语言软件环境搭建及常用操作
一、R语言简介R语言是专业的统计分析软件,来自著名数据科学网站(http://www.kdnuggets.com/)发起的一个2019年统计分析和数据挖掘软件使用情况的调查结果:表明R语言是该领域近年来最受欢迎的软件之一。R语言的优势:(1)免费开源,软件体积小根据需要安装扩展包,兼容各种常用操作系
【R语言基础】02. 基本数据结构
一、基本数据类型包括数值型(numeric)、逻辑型(logical)、字符型(character)、缺失值(NA)、浮点型(double)、复数型(complex)、整数型(integer)等。数据类型的判别与转换都是统一的格式,例如,is.numeric()判断是否为数值型,as.numeric
【R语言基础】03. 数据文件的读写
一、键盘输入数据适合小数据集,使用函数edit(),操作步骤:1.创建一个空的数据框或矩阵,设置对应的变量名和变量类型;2.针对该数据对象,调用文本编辑器,输入数据,并保存。mydata<-data.frame(age=numeric(0),gender=factor(character(0)
【R语言基础】04. 数值计算与自带函数
R中数值计算的对象一般是向量或列表,不同长度的对象进行计算时,短的对象元素将被循环使用。一、基本运算符号1.基本数学运算+-*/、^(求幂)、%%(求模)、%/%(整除)注意:可以关于小数求模,例如5.4%%2.3为0.82.比较运算>、<、>=、<=、==、!=3.逻辑运算
【R语言基础】05 数据整合Ⅰ
一、数据框创建新变量假设有MyData数据框,其中变量为x1,x2.现创建名为sumx和meanx的新变量,分别存储变量x1与x2的加和与均值。#方法1MyData$sumx<-MyData$x1+MyData$x2MyData$meanx<-(MyData$x1+MyData$x2)/
【R语言基础】06. 数据整合Ⅱ
五、数据合并1.使用函数rbind(),增加行(样本数据),要求宽度(列数)相同;cbind(),增加列(属性变量),要求高度(行数)相同2.使用函数merge()用来合并两个数据框,按行名或变量名匹配。基本格式为:merge(x,y,by=…,by.x=…,by.y=…,all=…,all.x=…
【R语言】数据结构Ⅱ—列表,数据框,因子
四、列表列表(list),可以包含不同类型的对象,甚至可以包括其他列表。列表的灵活性使得它非常有用。例如,用R拟合一个线性回归模型,其返回结果就是一个列表,其中包含了线性回归的详细结果,如线性回归系数(数值向量)、残差(数值向量)、QR分解(包含一个矩阵和其他对象的列表)等。因为这些结果全都被打包到
【R语言】R语言中的循环
编程中减少代码重复的两个工具,一是循环,一是函数。循环,用来处理对多个同类输入做相同事情(即迭代),如对不同列做相同操作、对不同数据集做相同操作。R语言有三种方式实现循环:(1)for循环、while循环(2)apply函数族(3)泛型函数map一.for循环、while循环首先作两点说明:(1)关
【R语言】条件语句与自定义函数
一.条件语句编程中要实现分支结构,就需要用到条件语句。R语言中的条件语句的一般格式为:(1)一个分支if(条件){执行体}(2)两个分支if(条件){执行体1}else{执行体2}例如,实现计算的绝对值功能:if(x<){y=-x}else{y=x}(3)更多分支if(条件1){执行体1}el
【R语言】tidyverse之零:管道操作
前言Hadley大神的tidyverse包,将数据处理和建模整个流程所涉及到的:读入、清洗、重塑、汇总、可视化、探索、建模、结果展示的整个流程,都以一种“优雅”的方式整合到了一起。我之前学了一遍Hadley的配套书《RforDataScience》,虽然比较系统全面,但重点部分有点过于基础,实用性欠
【R语言】tidyverse之一:读写数据
一.相关包简介(1)tibble包R数据框的更先进的替代,不将字符串转化为因子型,不重命名列,输出内容更智能,选择tibble子集仍是tibble(BaseR中,1列返回向量)查看数据框:glimpse()创建数据框:tibble()和tribble()(智能行tibble)强制转化为数据框:as_
【R语言】tidyverse之二:数据重塑
将新导入的数据变成整洁数据。一.什么是整洁数据?采用Hadley的表述,脏的/不整洁的数据往往具有如下特点:首行(列名)是值,不是变量名;多个变量放在一列;变量既放在行也放在列;多种类型的观测单元在同一个单元格;一个观测单元放在多个表。而整洁数据具有如下特点:每个变量构成一列;每个观测构成一行;观测
【R语言】tidyverse之三:数据连接
一.数据连接简介数据分析经常会涉及多个数据表,也称为关系数据库。关系是指两个数据表之间的关系,更多数据表之间的关系总可以表示为两两之间的关系。一个项目的数据,通常都是用若干数据表分别存放,它们之间通过"键"连接在一起,根据数据分析的需要,通过键匹配进行数据连接。例如,机场航班数据的连接结构:键列(可
【R语言】tidyverse之四:选择列
用dplyr包中的select()对数据框做选择列、排序列、重命名列。一.用列名选择列starwars%>%select(name,height,mass)可以用“:”选择连续的若干列:starwars%>%select(name:mass)#结果同上tidyverse包提供了一些助手函
【R语言】tidyverse之五:选择行
按行提取子集:选择行、删除行,对行排序。先创建一个包含重复行的数据框:set.seed(896)sw_dup<-starwars%>%select(-(films:starships))%>%sample_n(100,replace=TRUE)sw_dup一.对行排序用dplyr包
【R语言】tidyverse之六:修改列
修改数据框的列,计算新列。一.创建新列用dplyr包中的mutate()创建或修改列:iris%>%as_tibble(iris)%>%mutate(new_column="recycle_me")若只给新列提供长度为1的向量,则循环使用得到值相同的一列;正常是以长度等于行数的向量赋值:
【R语言】tidyverse之七:分组汇总
分组汇总,相当于Excel的透视表功能。一.创建分组对未分组的数据框,一些操作如mutate()是在所有行上执行——或者说,整个数据框是一个分组,所有行都属于它。若数据框被分组,则这些操作是分别在每个分组上独立执行。可以认为是,将数据框拆分为更小的多个数据框。在每个更小的数据框上执行操作,最后再将结
【R语言】2020美赛A题海平面温度数据读取与筛选
竞赛结束了,可以分享了。本文也适合.nc数据的读取。使用Google搜索不难找到数据网站:MetOfficeHadleyCentreobservationsdatasetswww.metoffice.gov.uk下载数据HadISST_sst.nc.gz(~212Mb),解压后是400多兆的.nc
【R语言】新一代机器学习包mlr3快速入门
开篇:我认为R的mlr3包,是足以媲美Python的sklearn的机器学习包。一.mlr3包介绍1.mlr3包的优势mlr3包是最先进的系统地实现机器学习算法的R包:(1)克服了S3语法的局限性,改用R6语法真正的面向对象(OO):数据和方法组装到一起可继承性支持引用语(2)从参数到内部数据结构,
【R语言】熵权法确定权重
张敬信:【评价算法】01.熵权法确定权重zhuanlan.zhihu.com之前写过用Matlab实现熵权法确定权重,再补充一个R语言实现(代码更加的简洁),算法原理步骤看上面这篇文章就行,不再赘述。顺便说一句,R语言我用的越来越顺手,它的灵活和强大让我都不大愿意用Matlab了。1.先定义归一化