经验丰富的程序员通常会发现R语言的某些方面不太寻常。以下是这门语言中你需要了解
的一些特性。
对象名称中的句点(.)没有特殊意义。但美元符号($)却有着和其他语言中的句点
类似的含义,即指定一个对象中的某些部分。例如,A$x是指数据框A中的变量x。
R不提供多行注释或块注释功能。你必须以#作为多行注释每行的开始。出于调试目的,
你也可以把想让解释器忽略的代码放到语句if(FALSE){... }中。将FALSE改为TRUE
即允许这块代码执行。
将一个值赋给某个向量、矩阵、数组或列表中一个不存在的元素时,R将自动扩展这
个数据结构以容纳新值。举例来说,考虑以下代码:
> x <- c(8, 6, 4)
> x[7] <- 10
> x
[1] 8 6 4 NA NA NA 10
通过赋值,向量x由三个元素扩展到了七个元素。
x <- x[1:3]会重新将其缩减回三个元素。
R中没有标量。标量以单元素向量的形式出现。
R中的下标不从0开始,而从1开始。在上述向量中,x[1]的值为8。
变量无法被声明。它们在首次被赋值时生成。
要了解更多,参阅John Cook的优秀博文“R programming for those coming from other
languages”(www.johndcook.com/Rlanguagefor_programmers.html)。
那些正在寻找编码风格指南的程序员不妨看看“Google’R Style Guide”①(http://googlestyleguide.
googlecode.com/svn/trunk/google-r-style.html。