当前位置:网站首页>(一)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这几种数据结构,敬请期待!有任何问题或建议欢迎留言和评论!
边栏推荐
- Programmers can make mistakes. Basic pointers and arrays of C language
- Machine learning -- linear regression (sklearn)
- ARM PC=PC+8 最便于理解的阐述
- gcc 编译选项
- Walk into WPF's drawing Bing Dwen Dwen
- Imgcat usage experience
- STM32 如何定位导致发生 hard fault 的代码段
- 关键字 inline (内联函数)用法解析【C语言】
- Basic operations of databases and tables ----- modifying data tables
- Apprentissage automatique - - régression linéaire (sklearn)
猜你喜欢
随机推荐
Characteristics, task status and startup of UCOS III
Inline detailed explanation [C language]
Bubble sort [C language]
Kaggle competition two Sigma connect: rental listing inquiries
ESP learning problem record
STM32 how to locate the code segment that causes hard fault
C语言回调函数【C语言】
RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED
Knowledge summary of request
Basic knowledge of lithium battery
Arduino uno R3 register writing method (1) -- pin level state change
高通&MTK&麒麟 手机平台USB3.0方案对比
The first simple case of GNN: Cora classification
Arduino JSON data information parsing
Kaggle competition two Sigma connect: rental listing inquiries (xgboost)
Cannot change version of project facet Dynamic Web Module to 2.3.
IOT system framework learning
基于Redis的分布式ID生成器
ESP8266使用arduino连接阿里云物联网
Togglebutton realizes the effect of switching lights