R提供了统计计算以及绘图的环境。事实上,R是一款完整的编程语言,尽管这一点在本书中鲜有提及。本书中,我们主要学习一些基本的概念,并且研究一些有指导性的例子。
R可以在某个统计计算结果的基础上再进行扩展计算。此外,R的数据可视化系统既允许我们使用诸如plot(x,y)这样的简单命令来进行绘图,也提供了对图形输出更好的控制。正因为R是一款编程语言,所以R非常灵活。其他一些统计软件,提供了更好的交互以及菜单表格类的选项接口,但是通常这样用户友好的界面反而会限制使用者进一步探索。尽管一些基本的统计只需要一些固定的计算过程,但是对于一个稍微复杂的数据进行建模,就需要一些特别设定的计算,而R的灵活性在这时就会成为显著的优势。
R之所以被称为“R”,其实是一个互联网式的幽默。也许你知道C语言(C语言之所以被称为C也是有一段故事的)。受到这种命名方式的启发,Bechker和Chambers在20世纪80年代早期为他们新发明的语言起名为S。这种语言后来被发展成一个商用的版本S-PLUS,并被全世界各地的统计学家广为使用。新西兰奥克兰大学的Ross Ihaka和Robert Gentleman为了教学目的,写了一个S的简化版。这两位先生的名字都以R开头,好吧,还有什么理由拒绝以R作为这个语言的名字呢?
在1995年,Martin Maechler劝说Ross和Robert在GPL规则下公开他们R语言的源代码。这与当时风行一时的Linux系统开源运动不谋而合。R很快给那些需要在Linux上进行统计计算的人带去了福音。很快,交流故障与讨论R发展的邮件列表就被建立起来。
初始步骤
开始运行R是很简单的,但方法取决于你的操作平台。你可以从系统菜单启动,双击图标或在系统命令行中输入命令"R"。这将产生一个控制台窗口,或在当前终端窗口启动一个交互式程序。在这两种情形下,R都通过问答模式工作,即你输入命令行并按下Enter键,然后程序运行,输出相关结果,继续要求更多的输入。当R在准备输入状态时,它显示的提示符是一个">"符号。R也可以作为纯文本应用程序或批处理模式来应用,但针对本章的目的,我将假设你处于一个图形工作站上。
R语言中两个数组(或向量)的外积如何计算所谓数组(或向量)a和b的外积,指的是a的每一个元素和b的每一个元素搭配在一起相乘得到的新元素.当然运算规则也可自定义.外积运算符为 %o%(注意:百分号中间的字母是小写的字母o).例如:
[plain] view plain copy
>a <- 1:2
>b <- 3:5
>d <- a %o% b
>d
[,1] [,2] [,3]
[1,]345
[2,]68 10
注意维数公式为:
[plain] view plain copy
dim(d) = c( dim(a) , dim(b) )
实际上R语言提供了一个更为一般化得外积函数outer(X,Y,Fun),比较简单,看个示例吧.
下面的例子是为了绘制 z = x**2 +50cos(y)的3维表面图:
[plain] view plain copy
>x <- seq(from = -5, to = 5, by = 0.25)
>y <- seq(from = -2, to = 2, by = 0.1)
>f <- function(x,y){x**2+50*cos(y)}
>z <- outer(x,y,f)
>persp(x,y,z)
绘制图像如下:
其它看帮助文档吧.
%*%表示通常意义下的两个矩阵的乘积。而矩阵乘积只有在第一个矩阵的列数(column)和第二个矩阵的行数(row)相同时才有意义。
x+y加法
x-y减法
x*y乘法
x/y除法
x^y乘幂
x%%y模运算
x%/%y整数除法
x==y判断是否相等
x <= y判断是否小于等于
x >= y 判断是否大于等于
x &&y 标量的逻辑“与”运算
x||y标量的逻辑“或”运算
x &y 向量的逻辑“与”运算(x、y以及运算结果都是向量)
X|y的逻辑“或”运算(x、y以及运算结果都是向量)
!x逻辑非
扩展资料
R语言表面上没有标量的类型,因为标量可以看作是含有一个元素的向量,但我们看到表中,逻辑运算符对标量和向量有着不同的形式,这虽然看起来很奇怪,但这种区别很有必要。
>x <- c( TRUE, FALSE, TRUE )
>y <- c( TRUE, TRUE, FALSE )
>x &y
[1]TRUEFALSEFALSE
>x[1] &&y[1]
[1]TRUE
>x &&y
[1]TRUE
>if( x[1] &&y[1] ) print( "both TRUE" )
[1]"bothTRUE"
>if( x &y ) print( "both TRUE" )
[1]"bothTRUE"