R语言数据类型基础1 数值型、逻辑型与文本型
R语言数据类型基础1 数值型、逻辑型与文本型
我看的R语言教材是李东风老师写的,已经跟着写了一周的代码了,但是可能是缺乏练习和总结,我相当于是打了遍字而已。所以现在又回头总结一下,里面一些太过细节的操作我就不再赘述了,只想在此处归纳总结一些最基础和最常用的操作。
众所周知 ,R语言是一个针对向量进行操作的语言,首先说一下R语言中怎么定义一个向量。
最简单的,只需要利用c()
函数即可,如下所示:
m1<-c(1,2,3)#生成了一个数值型向量
m2<-c("你好","Hello")#生成了一个字符型向量
接下来,针对不同的向量类型,给出一些常用的操作说明。
数值型向量
基本的一些操作
length(x)#这个是用来求向量x的长度
numeric(x)#生成一个长度为x,但每个元素都是0的数值型向量
+ - * / ^ #分别代表加减乘除和乘方
值得注意的点,在R语言中,向量和向量可以进行运算
但是在用如加减乘除等运算时,都是对应元素进行加减乘除,如果想做如内积、外积运算时,得确定一下相应的运算符
另外一些操作
%/% #这是整除符号
%% #这是求余符号
sort() #进行排序
rev() #排列次序反转
order() #返回排序后的**下标**(这个好像也不怎么用?)
基本的一些统计函数
这里的函数可太基本了,感觉哪个语言可能都自带了
sum(求和)
mean(求平均值)
var(求样本方差)
sd(求样本标准差),
min(求最小值)
max(求最大值)
range(求最小值和最大值)
cumprod(累乘)
cumsum(累加)
除了对已经有的向量进行操作,我们当然还得学会如何创造生成一些向量
在这里就记住一个seq得了,当然还有rep,但是也不怎么用到
seq(x,y,by=2)#这就是生成从x到y的序列,步长为2
seq(x,y,length.out=100)#这就是生成从x到y的序列,序列的长度为100
相当于一个是按照步长生成,一个是先确定了长度再进行生成
数值向量还包括了复数向量,但是在此就不赘述了(毕竟也不是很能用到?)
逻辑型向量
逻辑型的取值只有两种,即TRUE和FALSE,当然也可以简写为T和F.
除了这两种之外,其实还可以算有缺失值,在R语言中,我们用NA来表示缺失值。
我们可以如下来得到一个逻辑型向量
m<-c(1,2,3)
a1<-m>=2
在这样一段程序运行完后,我们就得到了一个逻辑型向量a1,它的取值是(FALSE,TRUE,TRUE)
(我发现我还不太会将R语言的结果也放出来,这是不是要用R markdown啊?等我学会了之后写博客肯定会好看且清楚很多)
我觉得还比较有用的函数就是is.na(x),因为经常会遇见,其作用是判断x向量是否为缺失值。大家都知道,R语言是一个向量型语言,故而它实际上会对x这个向量中的每一个元素进行一下验证。看看里面每一个元素是否是缺失的,然后会返还一个逻辑值,也就是T或者F。
类似的还有:
is.na()#是否是缺失值
is.finite()#是否是Inf值(我到现在学R 还没见过Inf值诶)
逻辑型还有一些其他操作,但是我觉得目前需要消化经常用到的就是这些了。
文本型向量
文本型向量也就是字符型向量,在这里我觉得值得去记忆,最基础的就是取子串、类型转换,不过还需要掌握一下paste()函数和字符串长度。
直接放上代码吧
paste()函数
paste(c("ab","cd"),c("12","34"))#将两个字符串连接,中间由空格分隔
#大家要记住,R语言是向量型的语言,将这两个字符型向量用paste连接后,居然得到的是c("ab 12","cd 34")。这不可不谓之神奇,但我有时候会觉得这个逻辑严谨吗,我总害怕R语言这个特性会在编程时不那么严谨..(我有发现过,但是我感觉是我菜,所以我不说)
还可以有
paste(c("ab","cd"),c("12","34"),sep='')#这样就不会有空格分开了,会连接的非常紧密,另外这是sep不是seq,seq是用来生成向量的哈
另外如果只想对一个字符型向量中的各个元素进行连接呢?
paste(c("ab","cd"),collapse="")#利用collapse参数即可,不用的话对这个字符型向量将不造成任何影响
取子串的操作
substr(x, start, stop)#这是对一个字符串进行操作,而不是对一个字符串向量进行操作噢
#其含义是指,取出x这个字符串的从第start个位置一直取到stop位置。
而substr(x,start,stop)中的x如果是个向量的话,那么很显然,我们是对x的每个元素都进行这种取子串的操作
类型转换
as.numeric()#转换成数值型
as.character()#转换成字符型
还有一个功能,个人感觉比较有用,即子串替换
利用gsub()函数即可实现
x<-"1;3;5;7,9"#生成了一个字符串
gsub(";",",",x,fixed=TRUE)#将分号换成了逗号,不过这个fixed参数是什么意思我也还不知道。
以上就是最基础的三种数据类型的简单操作啦!
总结一下就是数值型我们有排序、简单统计函数、生成序列,逻辑型有判断,文本型有替换子串、取子串、转换类型、连接
这些都不是很难,我感觉真正需要再总结一下的应该是R语言中的各个数据结构。
比如列表list,数据框data.frame(或者说tibble),因子factor这一些。
如果有大佬愿意带我学习的话就好了
R语言数据类型基础1 数值型、逻辑型与文本型相关推荐
- R语言|数据类型————R语言入门到入土系列(一)
本系列将从R语言的基本入门到R语言实战系列,逐步编写R语言的教程. R语言数据类型 R语言的赋值与输出 R语言的数据类型 数据类型的查看 数据类型的转换 R语言的赋值与输出 R语言赋值语法如下: 赋值 ...
- 【R语言编程基础】【课后习题答案】【全】
文章目录 第1章 R语言概述 1.选择题 2.操作题 第2章 数据对象与数据读写 1.选择题 2.操作题 第3章 数据集基本处理 1.选择题 2.操作题 第4章 函数与控制流 1.选择题 2.操作题 ...
- R语言——数据类型详解
R语言--数据类型详解 R语言支持的数据类型 数值型 整数型 逻辑型 字符型 复数型 原生型 R语言的数据对象类型包括 向量:一个向量只能有一种数据类型 矩阵:一个矩阵只能有一种数据类型 数组:一个数 ...
- R语言入门基础操作 啰嗦同桌级教程(一)
本文写给有编程基础和无编程基础的所有R语言小白!一个星期前,笔者也是一个R语言小白,所以自知所学甚浅,如同学们在阅读时发现本文的错误和不足,热热热烈欢迎大噶在评论区补充或直接私聊联系笔者! 笔者所用环 ...
- R语言数据类型:Logical、Numeric、Integer、Complex、Character、Vectors、Lists、Matrices、Arrays、Factors、DataFrames
R语言数据类型:Logical.Numeric.Integer.Complex.Character.Vectors.Lists.Matrices.Arrays.Factors.DataFrames 通 ...
- R极简教程-10:R语言绘图基础
R语言最强大的一点就是画图,那个无比强大的画图系统,再加上各种各样的神级R包,让我写R语言中最喜欢的一点就是写绘图代码. 简单来说,R语言原生的绘图系统已经非常强大了,根本不需要其他东西的辅助,就可以 ...
- R语言数据处理——基础篇 data.frame基本操作
文章目录 R语言数据处理--基础篇 data.frame基本操作 data.frame的创建 数据访问.条件筛选与删除 数据访问 数据筛选 删除 使用`gather()`进行data.frame数据格 ...
- r语言如何读取matlab数据类型,R语言数据类型深入详解
R语言用来存储数据的对象包括: 向量, 因子, 数组, 矩阵, 数据框, 时间序列(ts)以及列表 意义介绍 1. 向量(一维数据): 只能存放同一类型的数据 语法: c(data1, data2, ...
- R语言sqrt函数为数值开平方根实战
R语言sqrt函数为数值开平方根实战 目录 R语言sqrt函数为数值开平方根实战 #基本语法 #sqrt函数开平方根
最新文章
- paragraph设置行距_LaTex学术写作——设置段落 行间距 段间距 文本对齐方式
- Hadoop伪分布式配置试用+eclipse配置使用
- 关于一个局部变量未初始化引发的项目异常退出问题
- 从程序员到项目经理(二)
- redis实现轮询算法_Dcron:基于redis与一致性哈希算法的分布式定时任务库
- 抽象类的成员特点 学习笔记
- 基于Python-turtle库绘制哆啦A梦和大雄在一起
- 操作系统COM组件的概念
- 华为性格测试的破解方法
- 酷我音乐android2.0,酷我音乐2012 2.0.0(For iphone)享受听歌“零“消费
- 关于 Android Studio 鼠标中键的一些技巧
- 图形的设计和HTML和的CSS
- 关于未名湖边的烦恼问题
- 2012系统架构设计师考试大纲
- yolov5使用GPU
- 电影主页面及电影详情页面实现
- 收藏 外贸企业必备的跨境电商B2B出口报关完整指南
- 读米老师的《人际关系要全面》有感
- springboot+h5页面+微信公众号获取微信用户信息
- 浅谈数据治理、数据管理、数据资源与数据资产管理内涵及差异点(建议收藏)...
热门文章
- 抖音seo搜索是什么?源码部署-seo排名系统源码分析
- 2021年最新最全面的Java视频教程!!!
- access 分组序号_如何对Access 2007报表进行分组
- 算法训练 - 筛选号码 (有n个人围成一圈,顺序排号(编号为1到n)。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子。从下一个人开始继续报数,直到剩下最后一个人,游戏结束。)
- SpringCould整合oauth2
- 关于银环蛇Z370主板的,M.2固态与SATA接口冲突的解决办法
- 决定考BEC商务英语
- TK-StringVar
- 为listview、或者recyclerView的item增加进场动画
- 魔兽世界官方小说android,魔兽世界官方小说(套装共6册)