R语言编程语法

一、基本的概念

语句(statement):一条单独的R语句或一组复合语句(包含在{}中的一组R语句,使用分号分割);

条件(cond):一条最终被解析为真或者假的表达式;

表达式(expr):一条数据或字符串的求职语句;

序列(seq):一个数值或字符串的求值语句。

二、R语言之控制结构

2.1 循环结构

2.1.1 for结构

语法: for (var in seq){statement1;satement2;...}

说明:直到变量值不再包含在序列中为止

 1 > n<-0
 2 > for (i in seq(1:7)){
 3 + n = n+y[i]*f[i]
 4 + print(n)
 5 + }
 6 #输出
 7 [1] 0
 8 [1] 34
 9 [1] 82
10 [1] 130
11 [1] 142
12 [1] 147
13 [1] 159

2.1.2 while结构

语法:

    i <- seq #(初始化值)

    while(cond(i)){statement1;statement2;...}

 1 > i <- 10
 2 > while(i>0){
 3 + i = i - 1
 4 + print(i)
 5 + }
 6 #输出
 7 [1] 9
 8 [1] 8
 9 [1] 7
10 [1] 6
11 [1] 5
12 [1] 4
13 [1] 3
14 [1] 2
15 [1] 1
16 [1] 0

2.2 条件语句

2.2.1 if-else结构

语法:

if (cond){statement1;statement2;...}

if (cond){statement1;statement2;...}else{statement3;statement4;...}

说明:

如果cond为真,则执行第一个{}中的语句,否则执行else之后{}中的语句(如果else存在的情况下)。

1 > a<-10;b<-9;c<-8
2 > if(a<b){
3 + print(‘hello‘)
4 + }else{
5 + print(‘R‘)
6 + }
7 #输出
8 [1] "R"

2.2.2 ifelse结构

语法:

ifelse(cond, statement1, statement2)

说明:

如果cond为真,则执行statement1,否则执行statement2

1 > ifelse(b>c, print(‘hello‘),print(‘R‘))
2 #输出
3 [1] "hello"

三、函数

语法:变量名 = function(变量列表){函数体}

myfunction <- function(arg1, arg2, ...){

statements

return(object)

}

说明:

1.  function(){}创建函数;

2. 函数的调用方式,在变量名后面加上小括号‘()‘,如myfunction(arg1, arg2, ...);

3. 函数的调用与其参数的位置和名字有关,可以按位置调用,按名字调用,也可设置默认参数;

4. 函数是一个‘闭包’,只在函数参数和函数体中定义的变量,且在定义函数之前未定义过该变量时,这些变量都是专属于该函数的局部变量。当函数运行结束后,这些变量也自动消失,不能在后续的分析中调用,也不会引起命名冲突。我们可是使用超赋值符号“ <<-”,将局部变量改变为全局变量,供后续分析。

5. 延伸:在R语言中,{statement1;statement2; ...}定义了一个闭包,在该闭包中的变量都是一种局部变量,一旦执行结束,这些变量也将消失。如果要在后续分析中继续使用,则使用超值赋值符号。同时,这些变量名也不会引起命名冲突。

时间: 2024-08-24 03:31:42

R语言编程语法的相关文章

R语言编程艺术(1)快速入门

这本书与手上其他的R语言参考书不同,主要从编程角度阐释R语言,而不是从统计角度.因为之前并没有深刻考虑这些,因此写出的代码往往是一条条命令的集合,并不像是"程序",因此,希望通过学习这本书,能提高编程效率,以及让自己更像是一个"程序员". 本文对应<R语言编程艺术>第1章:快速入门. 生成向量的函数c(),这里c表示"连接"(concatenate) 打印列表方式: print(listname) str(listname) 第一种将

R语言编程艺术(2)R中的数据结构

本文对应<R语言编程艺术>第2章:向量:第3章:矩阵和数组:第4章:列表:第5章:数据框:第6章:因子和表 ========================================================================= R语言最基本的数据类型就是向量(vector),单个数值和矩阵都是向量的一种特例. 声明:R中不需要声明变量,但是注意函数式语言的特性,如果读写向量中的元素时,R事先不知道对象是向量的话,则函数没有执行的对象.如下代码是无法工作的: y[1]

R语言编程艺术学习(1)

###R语言编程艺术===== ####chr1.快速入门====== #交互模式 mean(abs(rnorm(100))) rnorm(10) source("z.R") #批处理模式 setwd("/Users/tang/Downloads/R语言编程艺术/") #shell命令运行脚本 #R CMD BATCH z.R data() ##查看内置数据集 mean(Nile) sd(Nile) hist(Nile) hist(Nile, breaks = 12

R语言编程中的常见错误

R语言编程中的常见错误有一些错误是R的初学者和经验丰富的R程序员都可能常犯的.如果程序出错了,请检查以下几方面.? 使用了错误的大小写.help().Help()和HELP()是三个不同的函数(只有第一个是正确的).? 忘记使用必要的引号.install.packages("gclus")能够正常执行,然而Install.packages(gclus)将会报错.? 在函数调用时忘记使用括号.例如,要使用help()而非help.即使函数无需参数,仍需加上().? 在Windows上,路

分享《R语言编程艺术》+PDF+源码+Norman Matloff+陈堰平 邱怡轩 潘岚锋 熊熹

下载:https://pan.baidu.com/s/1RSO_ZHXcaLFDNuPmkhFJdQ 更多资料分享:http://blog.51cto.com/14087171 <R语言编程艺术>中文版PDF+英文版PDF+源代码 中文和英文两版对比学习, 带目录书签: 配套源代码: 经典书籍,讲解详细. 原文地址:http://blog.51cto.com/14087171/2321667

R学习:《R语言编程艺术》中文PDF+英文PDF+代码

R语言是流行的用于数据处理和统计分析的脚本语言.考古学家用它来跟踪古代文明的传播,医药公司用它来探索哪种药物更安全.更有效,精算师用它评估金融风险以保证市场的平稳运行.总之,在大数据时代,统计数据.分析数据都离不开计算机软件的支持,在这方面R语言尤其出色. <R语言编程艺术>从最基本的数据类型和数据结构开始,到闭包.递归和匿名函数等高级主题,由浅入深,讲解细腻,读者完全不需要统计学的知识,甚至不需要编程基础.而书中提到的很多高级编程技巧,都是作者多年编程经验的总结,对有经验的开发者也大有裨益.

R语言编程艺术# 数据类型向量(vector)

R语言最基本的数据类型-向量(vector) 1.插入向量元素,同一向量中的所有的元素必须是相同的模式(数据类型),如整型.数值型(浮点数).字符型(字符串).逻辑型.复数型等.查看变量的类型可以用typeof(x)函数查询. > #插入向量元素 > x <- c(88,5,12,13) > x [1] 88 5 12 13 > x <- c(x[1:3],168,x[4]) #插入168数字在13之前 > x [1] 88 5 12 168 13 > 2.

《R语言入门》如何在Windows下安装R语言编程环境

R语言开发环境下载安装地址:http://ftp.ctex.org/mirrors/CRAN/index.html 有Linux版本,Mac版本,Windows版本,这里点击Download R for Windows,打开的页面又有几个选项,点击"install R for the first time."进入真正的下载页面, 点击"Download R 3.1.2 for Windows"开始下载. 运行安装程序,开始安装:一路下一步就可以了. 安装完成后会在桌

R语言常用语法总结

## 1. 数据输入 ##a$b # 数据框中的变量a = 15 # 赋值a <- 15 # 赋值a = c(1,2,3,4,5) # 数组(向量)b = a[1] # 数组下标,从1开始b = a[1:5] # 子数组b = a[-2] # 子数组:扣除第2个的子数组b = a[c(1,3)] # 子数组:访问第1,3个元素b = c(a0,a1,a2) # 连接多个数组a = rep(c(1,2,3,4),each=8) # 生成重复数列,支持每个重复和整个重复a = seq(from=1,