【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.先定义归一化
【R语言】泰尔指数及其分解
张敬信:【数学建模】泰尔指数及分解的计算方法与Matlab实现zhuanlan.zhihu.com之前写过用Matlab实现泰尔指数及其分解,再补充一个R语言实现(代码更加的简洁),同时做了改进,之前的函数说实话很难使用:指标数据和分组数据是分开的,而且还得注意顺序不能乱。只实现上篇文章中的TbT
【R语言】dplyr1.0.0新功能解读
作为tidyverse数据操作的核心包dplyr在2020-05-29迎来了大版本的更新,从此进入1.0.0时代。既然是大版本的更新,当然有一些重磅的新功能推出,我也在第一时间做了体验,现在分享给大家。建议更新方式:remove.packages("dplyr")install.packages("
【R语言】R语言中的循环
编程中减少代码重复的两个工具,一是循环,一是函数。循环,用来处理对多个同类输入做相同事情(即迭代),如对不同列做相同操作、对不同数据集做相同操作。R语言有三种方式实现循环:(1)for循环、while循环(2)apply函数族(3)泛型函数map一.for循环、while循环首先作两点说明:(1)关
R语言中的数学计算
前言R是作为统计语言,生来就对数学有良好的支持,一个函数就能实现一种数学计算,所以用R语言做数学计算题特别方便。如果计算器中能嵌入R的计算函数,那么绝对是一种高科技产品。本文总结了R语言用于初等数学中的各种计算。目录基本计算三角函数计算复数计算方程计算1基本计算四则运算:加减乘除,余数,整除,绝对值