R语言入门基础——基础操作篇(一)
文章图片
作者:易执
来源:Python读财
经过之前的基础教学,我们可以进入下一个基础教学阶段,那么教学开始。
1、赋值
什么叫赋值呢?
解释起来太麻烦了直接上实践
文章图片
从图上可以看到a<-1的这个过程就叫赋值,就是把a这个字母赋予一个含义,现在的是为1的,在程序框中输入a就会显示出a的含义,当然这种赋值是可以覆盖的再看图中我又输入了一个a<-1+1的代码,可以看到我再输入a查看含义的时候就发现a表示的含义变了,赋值也可以被看做是一种储存就比如1+1=2,如果直接在程序框里输入1+1会得到结果2,但是不会被保存,这时候如果使用赋值就可以保存下来就像上面写的那样保存到a里去。当然不是什么东西都可以被赋值。
文章图片
像图中这样阿拉伯数字和符号是不可以被赋值的。
2、数据类型
说完赋值,再说说R可以识别的数据类型,以及各数据类型之间如何转化的。
下表中就是R可识别的数据类型,逻辑型的举例中有个NA我怕有的人不明白还是解释下NA表示空值,因为在我们拿R做数据处理以及数据可视化的时候有可能碰到导入的数据有出现缺失为空,这个时候R会默认用NA来表示空。当然数据中出现空值是需要对数据进行处理的,如何处理会在后面细说。
数据类型 |
中文意思 |
举例 |
numeric |
数值型 |
2 , 1.1 , -5 |
logical |
逻辑型 |
True , False , NA |
character |
字符型 |
“你好” , ”hello” |
complex |
复数型 |
3i , 8i ,1+5i |
integer |
整数型 |
1,2,3,4(必须为整数) |
数据类型 |
判断函数 |
转化函数 |
numeric |
is.numeric |
as.numeric |
logical |
is.logical |
as.logical |
character |
is.character |
as.character |
complex |
is.complex |
as.complex |
integer |
is.integer |
as.complex |
文章图片
就像图中所写的那样,对b做判断给出的结论是TRUE是因为b中储存的都是数值型数据,所以判断b是否为数值型数据时给出的结论是正确,同理判断c给出的结论是错误的是因为c中储存的有数值型数据还有字符型数据的原因。
其他几个函数的判断也是这样就不多说了。
说完判断函数再来说说转化函数,以上图的c为例子当你判断完后发现c中有字符型数据,想要把字符型数据转化成数值型数据就需要用到上表中的as.numeric这个函数。
使用方法如下
文章图片
这里要解释一下为什么4后面不是we而是NA,因为we是字符型数据,把字符型数据转化成数值型数据这是不合理的,准确来说是把字母汉字之类的字符型数据转换成数值型数据是不行的,所以在转化的时候会产生NA。对于这种情况有两种解决方法第一种把它删除,第二种把字符型数据数值化,这里说的数值化不是说直接用as.numeric来转化而是用代替比如说是否喜欢一个东西,有喜欢和不喜欢,我们把它数值化成1和2,1表示喜欢,2表示不喜欢,虽然这样看起来没什么用,但是如果判断某件事和是否喜欢一个东西的关系的时候就很有用了。
3、对象的数据类型
说完数据类型的转换,现在来说说R中包含的对象类型,R中包含许多的对象类型,每个对象类型可以容纳的数据类型又各不相同,具体看下表。
对象类型 |
允许存储的数据类型 |
是否允许同一个对象有多种数据类型 |
向量 |
数值型、字符型、复数型、逻辑型 |
否 |
因子 |
数值型、字符型 |
否 |
数组 |
数值型、字符型、复数型、逻辑型 |
否 |
矩阵 |
数值型、字符型、复数型、逻辑型 |
否 |
数据框 |
数值型、字符型、复数型、逻辑型 |
否 |
时间序列 |
数值型、字符型、复数型、逻辑型 |
否 |
列表 |
数值型、字符型、复数型、逻辑型 |
是 |
class(x)#用于查看数据的类
mode(x)#用于查看数据的大类
typeof(x)#用于查看数据的细类
其中x表示要查找的对象。
既然说了如何查看对象的类型,那么肯定也要说下怎么看对象里的数据类型,代码如下:
#使用class函数查看对象的数据类型
sapply(x,class)
#使用mode函数查看对象的数据类型
sapply(x,mode)
#使用typeof查看对象的数据类型
sapply(x,typeof)
这么说可能不生动,还是来动手写会比较深刻,先创建几个数据类型,代码如下:
d<-data.frame(c1=c(1,2,-3,-1),c2=c(1:4),c3=TRUE,c4=c('你好','hello'),stringsAsFactors=F)sapply(d,class)
sapply(d,mode)
sapply(d,typeof)
运行结果如下:
文章图片
从结果可以看出sapply(d,mode)可以用来查看大类,c2列是整数型,整数型也可以看作是数值型的一种,sapply(d,class)可以查看得更细一些,sapply(d,typeof)是在class的基础上更细的方法。
这一篇的内容就到这里,喜欢的可以点个关注或者点个在看分享出去。
◆ ◆ ◆◆ ◆
文章图片
长按二维码关注我们
数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。
管理员二维码:
文章图片
猜你喜欢
● 笑死人不偿命的知乎沙雕问题排行榜
● 用Python扒出B站那些“惊为天人”的阿婆主!
● 全球股市跳水大战,谁最坑爹!
● 上万条数据撕开微博热搜的真相!
【R语言入门基础——基础操作篇(一)】● 你相信逛B站也能学编程吗
推荐阅读
- 【生信技能树】R语言练习题|【生信技能树】R语言练习题 - 中级
- 一起来学习C语言的字符串转换函数
- C语言字符函数中的isalnum()和iscntrl()你都知道吗
- C语言浮点函数中的modf和fmod详解
- C语言中的时间函数clock()和time()你都了解吗
- Python基础|Python基础 - 练习1
- C语言学习|第十一届蓝桥杯省赛 大学B组 C/C++ 第一场
- Java|Java基础——数组
- Java基础-高级特性-枚举实现状态机
- 营养基础学20180331(课间随笔)??