当前位置:网站首页>(一)R语言入门指南——数据分析的第一步
(一)R语言入门指南——数据分析的第一步
2022-07-06 09:17:00 【EricFrenzy】
注:本博客旨在分享个人学习心得,有不规范之处请多多包涵!
R语言
简单来说,R语言是一个免费开源、数据分析和可视化功能强大的编程语言。R语言的下载与安装请至R语言官网。下载完R语言后,推荐下载安装并使用RStudio这一开发环境。
下载完成后,打开RStudio,就会看到如下图的界面:
左边这部分是Console,可以直接输命令。如果想创建文件写代码的话,点开最左上角的下拉菜单即可选择。一般使用的是R Script文件。
接下来博主的操作可全部在Console里进行。
数值与逻辑运算符
用R进行计算很简单,只需在Console里打命令然后回车。
常用的数值运算符如下表所示:
符号 | 含义 | 举例 |
---|---|---|
+ | 加法运算 | 5+3输出为8 |
- | 减法运算 | 7-4输出为3 |
* | 乘法运算 | 2*5输出为10 |
/ | 出发运算 | 10/4输出为2.5 |
^ | 指数运算 | 2^5输出为32 |
%% | 模/取余运算 | 5%%2输出为1 |
%/% | 整除运算 | 11%/%3输出为3 |
以下表格时常用的逻辑运算符:
符号 | 含义 | 解释 | 举例 |
---|---|---|---|
== | 等于 | 如果符号两遍相等,返回真 | 4==3输出为F |
>= | 大于等于 | 如果符号前大于或等于符号后,返回真 | 4>=3输出为T |
<= | 小于等于 | 如果符号前小于或等于符号后,返回真 | 4<=3输出为F |
!= | 不等于 | 如果符号两遍不相等,返回真 | 4!=3输出为T |
> | 大于 | 如果符号前大于符号后,返回真 | 4>3输出为T |
< | 小于 | 如果符号前小于符号后,返回真 | 4<3输出为F |
&& | 逻辑与 | 如果符号前后都为真,返回真 | (4==4)&&(3==2)输出为F |
|| | 逻辑或 | 如果符号前或符号后至少有一个为真,返回真 | (4>3)||(4>6)输出为T |
变量类型与赋值
R语言的变量创建时一般不用声明类型。在计算生物学中,以下五类数据类型最为常见:
类型 | 解释 | 举例 |
---|---|---|
character | 字符串 | “abc” |
numeric | 浮点数 Inf表示R里的上限 NaN表示像0/0的未定义值 | 1.02 |
integer | 整型 在赋值时要在数字后面加L,不加默认是numeric | 15L |
complex | 复数 | 1+2i |
logical | 逻辑值或布尔值 大小写敏感 | T或TRUE F或FALSE |
以下的命令用来创建变量并给变量赋值/更新值:
x <- 4
x <- x + 1
这个命令执行后,在Console打x回车,会返回当前变量x的值(5)。在RStudio右侧的Environment里会出线x与它的值(5)。如果要清楚所有变量,请在Console使用以下命令:
rm(list= ls())
复杂一些的数据结构,如vector和data.frame,将在后续使用时讲解。
逻辑判定与循环
R语言的if else、for、while语法和C语言比较类似,具体见下例:
#if(){}else{}
#括号里的条件如果为真,则执行其后花括号内的代码然后结束,否则跳过花括号内代码
#可以在一个if里嵌套另一个if,用来做复杂些的条件判定
#这里的print()函数可以输出括号里的内容
#试试在Console里打?print()或是?加任何你不确定的函数并回车,右下会出现说明
x <- 20
y <- 30
if(x<y && y-x>15){
print("Condition 1")
} else {
print("Condition 2")
}
#输出应为"Condition2"
#for(){}
#按照括号里的范围决定花括号内代码重复执行的次数
#比如下面代码的i in 1:5,意思为i=1,2,3,4,5
#也就是说代码会执行五次
#同样,可以在一个for loop里嵌套另一个for loop
for(i in 1:5){
print(i^2)
}
#输出应为1 4 9 16 25
#while(){}
#循环执行花括号里的代码,直到圆括号的条件为假
#要注意,括号里条件一直为真多话会死循环
x <- 1
while(x < 10){
print(x)
x <- x + 1
}
#输出应为1 2 3 4 5 6 7 8 9
结束语
R语言入门就到这里啦。下次会具体解释说明vector、matrix、list这几种数据结构,敬请期待!有任何问题或建议欢迎留言和评论!
边栏推荐
猜你喜欢
RT thread API reference manual
js 变量作用域和函数的学习笔记
Kaggle competition two Sigma connect: rental listing inquiries (xgboost)
ES6语法总结--上篇(基础篇)
基于Redis的分布式锁 以及 超详细的改进思路
I2C总线时序详解
Basic use of pytest
Feature of sklearn_ extraction. text. CountVectorizer / TfidVectorizer
Fashion Gen: the general fashion dataset and challenge paper interpretation & dataset introduction
level16
随机推荐
Knowledge summary of request
C language, log print file name, function name, line number, date and time
RT thread API reference manual
RT-Thread API参考手册
ESP8266通过Arduino IDE连接Onenet云平台(MQTT)
JS object and event learning notes
JS variable types and common type conversions
Pytoch implements simple linear regression demo
列表的使用
level16
Pat 1097 duplication on a linked list (25 points)
Pytorch-温度预测
Dead loop in FreeRTOS task function
AMBA、AHB、APB、AXI的理解
IOT system framework learning
Missing value filling in data analysis (focus on multiple interpolation method, miseforest)
2022.2.12 resumption
Arduino JSON data information parsing
优先级反转与死锁
JS regular expression basic knowledge learning