A. R语言笔记(七):条件与循环
在数据处理或实现重复操作时,流程控制能显着提升工作效率。流程控制涉及以下主要结构:
条件执行结构中的基本语句如下:if_else(condition, cons.expr, alt.expr)。条件(condition)是能够转换为逻辑值 TRUE 或 FALSE 的表达式。cons.expr(对应 TRUE 执行的命令)和alt.expr(对应 FALSE 执行的命令)分别是条件为真或假时执行的代码块。
注意:当条件返回长度超过1的结果时,只取第一个元素进行判断。
在实例中,x是一个向量,包含值(1, 0, -1),x >= 0 返回 (TRUE, TRUE, FALSE),系统只取第一个元素TRUE进行开方运算。x < 0 返回 (FALSE, FALSE, TRUE),系统取FALSE返回0。要实现长度大于1的条件识别,可以使用循环语句或ifelse()函数。
ifelse(test, yes, no)中,test是一个能转换为逻辑型的对象,yes对应test为TRUE执行的命令,no对应test为FALSE执行的命令。举例说明,将yes和no的值进行应用,观察ifelse()的返回结果与逻辑变量和yes的索引之间的关系。
for和while语句的使用相对简单,基本语法包括一个变量、一个序列、一个循环体命令和一个条件表达式。通过几个例子展示for和while语句的应用。
repeat语句用于重复执行命令expr,通常与break结合使用,用于跳出循环。示例展示重复执行的代码。
执行next跳过当前循环节剩余部分,直接进入下一个循环节;执行break则跳出整个循环。这两个语句通常与循环结构一同使用。
滚动回归分析法在时间序列分析中应用广泛,用于观察回归系数随时间变化的动态情况。通过不断调整窗口大小,实现对数据的滚动拟合,从而观察和分析数据趋势。
ifelse()函数的具体实现代码如下,包含注释以便理解:
练习代码如下,尝试运行并理解执行结果。
B. r和python数据分析的区别有哪些
什么是R语言?
R语言,一种自由软件编程语言与操作环境,主要用于统计分析、绘图、数据挖掘。R本来是由来自新西兰奥克兰大学的罗斯·伊哈卡和罗伯特·杰特曼开发(也因此称为R),现在由“R开发核心团队”负责开发。R基于S语言的一个GNU计划项目,所以也可以当作S语言的一种实现,通常用S语言编写的代码都可以不作修改的在R环境下运行。R的语法是来自Scheme。
R的源代码可自由下载使用,亦有已编译的可执行文件版本可以下载,可在多种平台下运行,包括UNIX(也包括FreeBSD和linux)、Windows和MacOS。R主要是以命令行操作,同时有人开发了几种图形用户界面。
相关推荐:《Python教程》
R的功能能够通过由用户撰写的包增强。增加的功能有特殊的统计技术、绘图功能,以及编程接口和数据输出/输入功能。这些软件包是由R语言、LaTeX、Java及最常用C语言和Fortran撰写。下载的可执行文件版本会连同一批核心功能的软件包,而根据CRAN纪录有过千种不同的软件包。其中有几款较为常用,例如用于经济计量、财经分析、人文科学研究以及人工智能。
Python与R语言的共同特点
Python和R在数据分析和数据挖掘方面都有比较专业和全面的模块,很多常用的功能,比如矩阵运算、向量运算等都有比较高级的用法。
Python和R两门语言有多平台适应性,linux、window都可以使用,并且代码可移植性强。
Python和R比较贴近MATLAB以及minitab等常用的数学工具。
Python与R语言的区别
数据结构方面,由于是从科学计算的角度出发,R中的数据结构非常的简单,主要包括向量(一维)、多维数组(二维时为矩阵)、列表(非结构化数据)、数据框(结构化数据)。而Python则包含更丰富的数据结构来实现数据更精准的访问和内存控制,多维数组(可读写、有序)、元组(只读、有序)、集合(唯一、无序)、字典(Key-Value)等等。
Python与R相比速度要快。Python可以直接处理上G的数据;R不行,R分析数据时需要先通过数据库把大数据转化为小数据(通过groupby)才能交给R做分析,因此R不可能直接分析行为详单,只能分析统计结果。
Python是一套比较平衡的语言,各方面都可以,无论是对其他语言的调用,和数据源的连接、读取,对系统的操作,还是正则表达和文字处理,Python都有着明显优势。 而R是在统计方面比较突出。
Python的pandas借鉴了R的dataframes,R中的rvest则参考了Python的BeautifulSoup,两种语言在一定程度上存在互补性,通常,我们认为Python比R在计算机编程、网络爬虫上更有优势,而R在统计分析上是一种更高效的独立数据分析工具。所以说,同时学会Python和R这两把刷子才是数据科学的王道。
C. R语言中drop的用法
对于一个多维数据z,drop(z)是把长度为一的维数去掉之后的z
例如如果z<-c(1:12)是3维数据,每维长度分别为1、3、4
drop(z)就返回二维数据长度为3和4了
dim是给数组赋予维数的意思
比如z<-c(1,2,3,4,5,6)本来是一维的
如果输入命令dim(z)<-c(2,3)
z就变成二维的了,每维长度分别为2和3:
1
3
5
2
4
6
D. R语言画图基础功能
R语言有着很强大的画图功能。我们可以从下面的语句中得到
1、绘画函数
高级画图功能(创建一个新的图形)
低级绘图函数(在现有的图形上添加元素)
2、绘图参数介绍
高级绘图函数共同参数选项:
其它常用绘图参数(可以使用help(par)查看)
3、画图面板分割
在一个面板中画多张图
(1)、par中参数mfrow和mfcol
(2)、ayout函数
生成复杂的图形排列
(3)、其它函数
在一个面板中画多张图
4.图形保存
(1)输出到屏幕
windows, X11
(2)输出到文件
df , postscript , xfig, bitmap, pictex, cairo_pdf, svg, png, jpeg, bmp, tiff
通过菜单命令保存图形