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 数值型、逻辑型与文本型相关推荐

  1. R语言|数据类型————R语言入门到入土系列(一)

    本系列将从R语言的基本入门到R语言实战系列,逐步编写R语言的教程. R语言数据类型 R语言的赋值与输出 R语言的数据类型 数据类型的查看 数据类型的转换 R语言的赋值与输出 R语言赋值语法如下: 赋值 ...

  2. 【R语言编程基础】【课后习题答案】【全】

    文章目录 第1章 R语言概述 1.选择题 2.操作题 第2章 数据对象与数据读写 1.选择题 2.操作题 第3章 数据集基本处理 1.选择题 2.操作题 第4章 函数与控制流 1.选择题 2.操作题 ...

  3. R语言——数据类型详解

    R语言--数据类型详解 R语言支持的数据类型 数值型 整数型 逻辑型 字符型 复数型 原生型 R语言的数据对象类型包括 向量:一个向量只能有一种数据类型 矩阵:一个矩阵只能有一种数据类型 数组:一个数 ...

  4. R语言入门基础操作 啰嗦同桌级教程(一)

    本文写给有编程基础和无编程基础的所有R语言小白!一个星期前,笔者也是一个R语言小白,所以自知所学甚浅,如同学们在阅读时发现本文的错误和不足,热热热烈欢迎大噶在评论区补充或直接私聊联系笔者! 笔者所用环 ...

  5. R语言数据类型:Logical、Numeric、Integer、Complex、Character、Vectors、Lists、Matrices、Arrays、Factors、DataFrames

    R语言数据类型:Logical.Numeric.Integer.Complex.Character.Vectors.Lists.Matrices.Arrays.Factors.DataFrames 通 ...

  6. R极简教程-10:R语言绘图基础

    R语言最强大的一点就是画图,那个无比强大的画图系统,再加上各种各样的神级R包,让我写R语言中最喜欢的一点就是写绘图代码. 简单来说,R语言原生的绘图系统已经非常强大了,根本不需要其他东西的辅助,就可以 ...

  7. R语言数据处理——基础篇 data.frame基本操作

    文章目录 R语言数据处理--基础篇 data.frame基本操作 data.frame的创建 数据访问.条件筛选与删除 数据访问 数据筛选 删除 使用`gather()`进行data.frame数据格 ...

  8. r语言如何读取matlab数据类型,R语言数据类型深入详解

    R语言用来存储数据的对象包括: 向量, 因子, 数组, 矩阵, 数据框, 时间序列(ts)以及列表 意义介绍 1. 向量(一维数据): 只能存放同一类型的数据 语法: c(data1, data2, ...

  9. R语言sqrt函数为数值开平方根实战

    R语言sqrt函数为数值开平方根实战 目录 R语言sqrt函数为数值开平方根实战 #基本语法 #sqrt函数开平方根

最新文章

  1. paragraph设置行距_LaTex学术写作——设置段落 行间距 段间距 文本对齐方式
  2. Hadoop伪分布式配置试用+eclipse配置使用
  3. 关于一个局部变量未初始化引发的项目异常退出问题
  4. 从程序员到项目经理(二)
  5. redis实现轮询算法_Dcron:基于redis与一致性哈希算法的分布式定时任务库
  6. 抽象类的成员特点 学习笔记
  7. 基于Python-turtle库绘制哆啦A梦和大雄在一起
  8. 操作系统COM组件的概念
  9. 华为性格测试的破解方法
  10. 酷我音乐android2.0,酷我音乐2012 2.0.0(For iphone)享受听歌“零“消费
  11. 关于 Android Studio 鼠标中键的一些技巧
  12. 图形的设计和HTML和的CSS
  13. 关于未名湖边的烦恼问题
  14. 2012系统架构设计师考试大纲
  15. yolov5使用GPU
  16. 电影主页面及电影详情页面实现
  17. 收藏 外贸企业必备的跨境电商B2B出口报关完整指南
  18. 读米老师的《人际关系要全面》有感
  19. springboot+h5页面+微信公众号获取微信用户信息
  20. 浅谈数据治理、数据管理、数据资源与数据资产管理内涵及差异点(建议收藏)...

热门文章

  1. 抖音seo搜索是什么?源码部署-seo排名系统源码分析
  2. 2021年最新最全面的Java视频教程!!!
  3. access 分组序号_如何对Access 2007报表进行分组
  4. 算法训练 - 筛选号码 (有n个人围成一圈,顺序排号(编号为1到n)。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子。从下一个人开始继续报数,直到剩下最后一个人,游戏结束。)
  5. SpringCould整合oauth2
  6. 关于银环蛇Z370主板的,M.2固态与SATA接口冲突的解决办法
  7. 决定考BEC商务英语
  8. TK-StringVar
  9. 为listview、或者recyclerView的item增加进场动画
  10. 魔兽世界官方小说android,魔兽世界官方小说(套装共6册)