慢慢更新:
前面铺了一堆路后,在这一章正式接触代码。在这里先把重要的事情这里就说一遍:编写代码的时候要切换到英文输入法,原因基本上可以归结为:编程代码只认识英文。
此外,这里要提到的是,本教程与别的教程基本都不一样,所以在顺序上有些大佬们如果认为怎样怎样比较好的话,我认同你们的观点。不过在这个专栏里,我更喜欢按照我认为ok的方式去逐步深入,因此还是那句:键下留情~
一、常量、赋值、变量
对于任何一个编程语言来说,对数据进行处理、运算一定是最最最重要和基础的功能,下面从数据格式、常量、变量、赋值
①数据格式
初学者只需掌握这三个数据格式:数值型、字符型、逻辑型
数值型就是数字,例如年龄、身高、血压、单价等等直接用数字表现的数据,最主要的特点是可以用于直接计算!在代码中写法就是直接输入数字如下(了解下列即可,更多后面接触到时会补充的):
整数:123
带着小数:123.456
同理负数:-12.34
【注】:一般来说R语言以一行为单位,每读取完一行R语言便会运行出改行的结果,所以在上图中当咱们把123、123.456、-12.34一起选中运行时候,不会出现识别成123123.456-12.34。但是后面如果开始写函数之后,R语言会读取完完整的函数(也就是会读取多行,因为它读完一行后知道你的函数没写完)后再进行运行,当然这些也是后话了。
字符型为字符串,例如姓名、性别、银行卡类型、服务评价星级等用文字、英文字母去表示的数据,区别于数值型数据是不可计算,且在代码中需要用 ” ” (英文双引号)去把输入的文字括起!
【注】:当输入的文字中包含英文双引号 “ ” 则用单引号 ‘ ’ 括起即可~
中文姓名:"林蛋大"
英文姓名:”ChuZhongtian”
银行卡类型:”中国银行”
逻辑型为了方便记忆,我们可以称呼其为对错型,字面意思,就是这个类型只包括对和错两个:
对:TRUE
错:FALSE
在这里,我们需要知道对相当于数值型的1,错相当于数值型的0。当程序需要进行对错判断时,也会自动把1,0看成判断的逻辑型数据即可,初期学习没太大必要进行深刻认识上的分辨~
②常量
很显然,常量是指直接写在程序中的值,例如上面的123、123.456、”林蛋大”、”ChuZhongtian”等等
除了上述的还需要提醒,在日常数据处理中以及数据分析中,很经常会遇到没有值的地方,我们称之为空值(也叫缺失值),例如通常问卷中,别人漏填、故意不填的地方,在编写代码时,用NA表示。以及算术过程出现无穷大时,代码以Inf表示
③变量
首先介绍变量的作用:保存输入的值或者计算得到的值。变量只能用英语字母、自定义的单词以及和数字下划线的组合去表示,例如用age代表年龄,用age_1代表第一次试验的年龄,用age_xiaoming代表小明的年龄
④赋值
往变量里赋予常量的值:代码中用 <- 表示,例如 a<-1表示让字母a成为变量,并且把数值1的值赋予a,于是当我们运行a的时候,显示的结果为1。A<-2表示让字母A成为变量,并且把数值2的值赋予A,于是当我们运行A的时候,显示的结果为2。
【注】:当然也可以用 = 去赋值,例如a=1,与a<-1等价,但是我并不推荐,因为a<-1是官方推荐的写法,并且 == 在R语言中表示判断左右两边的东西是否相等,稍不注意很容易写错
可以从下图中看到,当运行 a<-1 时,并不会输出结果,这是因为 a<-1 表示的是赋值,赋值后并不会输出,而值运行a时表示查看a的值,
当没有对其赋值时(例如下图,整个过程并没有对age进行赋值),它就会告诉你,你没有这个对象(变量)!!!!
对于变量这个知识点,由于这一专栏是初学模式,咱们简单把其分为两类四种:
数值类:单值型、多值型
字符类:单值型、多值型
数值类,字面意思,包含的东西全为数值。同样的,字符类的意思就是包含的东西全为字符
假设现在有两个人的信息:小明(年龄17,性别:男)、小红(年龄:18,性别:女)
在编程中,当咱们要将两人的信息用变量表示,例如:
单值型就是一个变量只包含一个值,例如用sex_1表示小明性别,age_1表示小明的年龄,sex_2表示小红性别,age_2表示小红的年龄
多值型(也叫向量)就是一个变量包含多个值,例如sex表示小明和小红的性别,age表示小明和小红的年龄。这里要特别注意:对于单值型代码中用 <- 表示赋值,例如 test_1<-17表示让test_1成为变量,并且把数值17的值赋予test_1。对于多值型而言,依旧用 <- 表示赋值,但是因为是多值,如果使用test_2<-1718,并不能让电脑知晓17,18是两个数值,所以要用逗号区分,并且使用 c() 将其括住:test_3<-c(17,18),表示让test_3成为多值型变量,并且其值均包含在c()内,第一位是17,第二位是18
于是可用sex<-c(“男”,”女”),age<-c(17,18),将这两货的性别、年龄录入
这里要说明一下:只介绍这两类四型的原因是因为初学过程只需要从这切入即可绝大部分掌握编程所需知识,而当入门熟悉后需要深入了解更多五花八门的东西时,可以更省心省力地了解掌握
二、R语言的基础——计算功能
这部分集中介绍R语言最简单但是却是最基础的计算功能,这里小学二年级时就知道,计算只能针对数值型的东东,所以这一话剩下的部分主要是针对数值型的东东~
这里为了下面方便讲解,宝贝们需要记住一个概念:变量的长度→指的是变量中包含值的个数,例如:sex<-c(“男”,”女”),变量sex包含两个值“男”和”女”,便可以称变量sex长度为2。下面,分成三类运算进行讲解:单值与单值运算、单值与多值运算、多值与多值运算
首先进行赋值
单值变量:A<-2
单值变量:B<-9
长度为2的多值变量:X_1<-c(1,2)
长度为3的多值变量:X_2<-c(1,2,3)
长度为4的多值变量:Y<-c(9,16,25,36)
①四则运算
加减乘除对应:+ - * /
学习的时候可以尝试依次去运行
A+B
A*B
B-X_1
B/X_1
结果如下图所示:
单值与单值运算就是简简单单的四则运算
单值与多值运算就是单值与多值内的每一个值进行运算,B-X_1也就是单值变量B的值与多值变量X_1内的所有值进行四则运算,得到的是和多值变量长度一样的多值变量
多值变量与多值变量的运算:
- 当两变量长度一致时,运算规则是对应位置的数和对应位置的数进行运算,例如运行 X_1+X_1 ,Y*Y,那电脑的运行思维如下:
- 当两变量长度不一致时,但一个长度是另一个的整数倍时,运算规则是自动把长度短的变量重复直到长度与另一个一致后进行等长度运算,例如运行X_1-Y,Y /X_1,那电脑的运行思维如下:
- 当两变量长度不一致时,且一个长度不是另一个的整数倍,例如运行X_2+Y,Y /X_2,运算规则是自动把长度短的变量重复直到长度与另一个一致后进行等长度运算,但由于不是倍数关系,短向量重复时未能重复完全,R语言运行窗口会输出警告
上述三种情况运行结果如下图:
多值变量与多值变量的运算,一般要求是当两变量长度一致时才可进行运算,实际运用中基本上只会有对等长度运算的情况。
②常用的基本函数
- 除以2的整数商 → A%/%2 , Y%/%2
- 除以2的余数 → B%%2 , Y%%2
- 平方 → 平方:A^2 , Y^2
- 3次方 → 平方:B^3 , Y^3
- 自然常数e的多少次方 → exp(X_1)
exp()相当于告诉电脑要对自然常数e求次方运算,括号里的变量相当于告诉电脑求的是多少次方,当所给的变量为多值型时,会逐次运算
- 求根号 → sqrt(Y)
sqrt()相当于告诉电脑要进行开方运算,括号里的数相当于告诉电脑开方对象是多值变量Y,会逐次求各个值的根号
- 取底为3的的对数 → log3(Y)
log(Y , base=3) ,log() 表示告诉电脑要进行取对数运算,括号里第一个变量相当于告诉电脑对谁取对数,逗号(注意,代码里一定一定要用英文的逗号!!!)表示间隔意思是告诉电脑别急后面还有话说,说base=3相当于告诉电脑,对Y取对数的时候底为3!
后面还有类似的东西就不继续废话了~还有疑惑的hái纸们可以加qq群463227526或者留言提问哦~
- 这里不说四舍五入,等后面的教程再详细说明~~
- 向上取整,有小数就进1:ceiling(9.001)
- 向下取整,直接不计小数: floor(9.999)
- 三角函数(注:R语言里π用pi表示):sin(pi/6) cos(pi/3)
- -10的绝对值:abs(-10)
学习的过程可以尝试把上述的函数全部手敲过一遍~~常用的熟悉起来到真正写代码的时候会快很多,遇到不常用的、没见过的、不认识的函数及时查找请教即可~【划重点】
积少成多,相信你可以成为一代码农!
本人见识有限,有误之处敬请见谅~~
10月18之后下一话