zoukankan      html  css  js  c++  java
  • 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; ...}定义了一个闭包,在该闭包中的变量都是一种局部变量,一旦执行结束,这些变量也将消失。如果要在后续分析中继续使用,则使用超值赋值符号。同时,这些变量名也不会引起命名冲突。

  • 相关阅读:
    打开安装 好的Microsoft Dynamics CRM 4.0 报错误为 Caller does not have enough privilege to set CallerOriginToken to the specified value 的解决办法
    基于 Windows Server 2008 的计算机对 Microsoft Dynamics CRM 4.0 的支持
    Microsoft Dynamics CRM 4.0 如何添加自定义按钮
    Microsoft Dynamics CRM 4.0 Plugin 取值,赋值,查询
    C# 中的 enum(枚举) 类型使用例子
    vue事件的绑定
    表单验证2
    node中模块
    node模块的引入
    node中的读文件
  • 原文地址:https://www.cnblogs.com/xiaofeiIDO/p/6005832.html
Copyright © 2011-2022 走看看