/
科
研
工
具
/
欢迎来到科研工具第三讲!!
从R语言入门(I) 出来的宝贝
这里请进~
今天我们来学习R语言(II)
R 语言基础语法
很多同学在刚开始学习R语言的时候就被复杂的语法所劝退,其实只要明白了语法的表述并尝试实践,在你写下第一个代码开始,便学会了它!
一
数据结构
数据类型有:
【数 值 型】 可以用于直接计算,加减乘除
【字符串型】可以直接链接,转换,提取等
【逻 辑 型】 真或假
【日 期 型】
一般编程数据结构:向量、标量、列表、数组、多维数组
标量、向量
R中的向量和代数中的概念基本一致,比如都是整数或都是字符串,用于储存数值型、字符型或逻辑型数据的一维数组。用函数c来创建向量,c的含义为concatenate,也可以理解为collect或combine。同一类型才能进行计算,如非同一类型,会很难处理,如果向量中只有一个元素,也可以不加c函数,直接赋值,这种向量就成为标量。
下图展示了向量对象的创建、加减运算、索引等基本操作:
⚠️注意⚠️:>是输入提示符,系统自动给出,不用输入;代码输完后回车运行代码;[1]后面跟着的是运算结果。
矩阵
所有列必须一致地包含一种变量类型
R中的矩阵相当于一个二维数组,和代数中的矩阵也基本一致。
因子
什么是因子型变量呢?
举个例子,比如要研究北、上、广、深4个城市的碳排放量,我们希望数据能够按照“北上广深”的顺序排列,赋予“城市”这个变量以一定的顺序,这时最好的方法就是将“城市”这个变量设置为因子型变量。
另一个例子是身体状况的分类:有Excellent、Improved和Poor三类,其表示为字符串型,但我们希望能体现其中的顺序。就通过向量转变为因子型变量,底层逻辑就是用一整型向量储存了原向量中各元素对应的排序值。
列表、数据框和时间序列等
以上所提到的向量、矩阵和数组等数据结构中,所有元素都必须属于同一类型,如同为整型、同为字符串型等。
而列表中允许各元素类型不同。列表似乎可以完成类似“表格”形式的储存:如果所有元素都是一个向量,并为每个元素设置标识充当“表头”,这个列表可以变得很像一个Excel表格。
不过这样的事情采用数据框这个数据结构更方便,因为它有许多现成的函数和包(如dplyr),且是许多画图的包(如ggplot2)直接对接的数据结构。
二
基础操作--变量命名与赋值运算
在R中,用赋值运算符<-来进行赋值运算。
<-可形象地看作是一个向左的箭头←,将右边的计算结果赋给左边的变量。例如:表达式x <- 6的含义是将值6赋给变量x
⚠️注意⚠️:赋值运算符<-之间是不能有空格的;此外尽量避免用=来进行赋值。
对于变量的命名,我们主要记住下面三点就行了:
1. 变量名是区分大小写的,比如:变量y和变量Y两者是不同变量;
2. 变量名的首字母不能是数字和符号,比如:2r和_haiyan都不能作为变量名;
3. 变量名不能包含空格号,比如:my name不能作为变量名,可以用my.name或者my_name替代。
举个例子🌰:
三
数据处理--打印输出与注释
函数输出目前最常用的是print( )和cat( ),其中print( )可以输出单个的数字和字符,cat( )一般用于输出拼接的结果,并且会自动在每两个拼接的元素间加上空格。
以“#”开头,一行中“#”之后的内容会被解释器忽略。编写代码时,尤其在大型工程中,多写注释是很好的习惯,可以大大提高代码的可读性。
四
3种常见格式的数据读写
五
常用快捷键和基础函数
常用快捷键
|
MacOS |
Windows |
清屏 |
Control+L |
|
历史记录 |
Command+⬆️ |
Control+⬆️ |
中断操作 |
Esc键 |
|
快捷菜单 |
Option+Shift+K |
Alt+Shift+K |
赋值<- |
Option+- |
Alt+- |
基础函数
getwd( )函数 |
查询当前工作目录 |
setwd( )函数 |
修改/设置当前目录 |
list.files( ) dir( ) |
查看目录下包含的文件 |
赋值 <<- |
强制赋值给一个全局变量 |
赋值<- |
赋值给局部变量 |
Ls( )函数 |
可查看当前已经定义的变量和函数 |
Ls.str( )函数 |
产看详细变量 |
Ls(all.name=TRUE) |
包括隐藏变量也会列出(以“.”开头的文件都是隐藏文件不能被ls检索) |
rm( )函数 |
删除变量 |
history( )函数 |
查找历史记录 |
save.image( ) |
保存 |
q( ) |
退出 |
往期推荐
科研工具第一讲|三分钟教会你安装Python
科研工具第二讲|手把手教你入门R语言
科研工具小讲堂
开讲啦!
扫码添加学术规划顾问
了解更多学术相关资讯
限时领取价值¥299的学术规划
备注 “ R包 ”
还🉑️领取 R 惊喜礼包!
发表评论