2.1基本概念2.变量赋值在指定变量名之后,我们就可以往这个容器里装载数据,这个过程称之为赋值。R语言中的赋值符号为“<”,但绝大多数情况下也可以使用“=”。例如,以下两句均可对x赋值。>x<- 1>x=11)关系比较时的陷阱>1+1#计算1+1[1] 2#给x赋值为1>x=1#计算x+2的值>x+2[1] 3>1<3#判断是否1小于3[1] TRUE#判断是否1小于-2>1<-2Errorin1<-2:invalid (do_set)left-handsidetoassignment
2. 变量赋值 在指定变量名之后,我们就可以往这个容器里装载数据,这个过程称之为赋值。R语言中 的赋值符号为“<-”,但绝大多数情况下也可以使用“=”。例如,以下两句均可对x赋值。 2.1 基本概念 > x <- 1 > x = 1 1)关系比较时的陷阱 > 1+1 #计算1+1 [1] 2 > x=1 #给x赋值为1 > x+2 #计算x+2的值 [1] 3 > 1<3 #判断是否1小于3 [1] TRUE > 1<-2 #判断是否1小于-2 Error in 1 <- 2 : invalid (do_set) left-hand side to assignment
2.1基本概念如果要判断变量x是否小于-2的,此时若没有在“<"后添加空格,则会直接给x进行赋值,而不会有出错提示。如:>x=1#判断x是否小于-2>X<-2[1] FALSE#若没有添加空格,则直接给x进行赋值>x<-2>x[1] 22)函数中参数传递时的误用这个错误涉及的原因比较复杂,我们将在下一小节详细解释
如果要判断变量x是否小于-2的,此时若没有在“<”后添加空格,则会直接给x进行赋值,而 不会有出错提示。如: 2.1 基本概念 > x=1 > x < -2 #判断x是否小于-2 [1] FALSE > x<-2 #若没有添加空格,则直接给x进行赋值 > x [1] 2 2)函数中参数传递时的误用 这个错误涉及的原因比较复杂,我们将在下一小节详细解释
2.1基本概念2.1.2函数和参数在R语言中,函数的使用形式如下:函数名参数1,参数2...)每一个函数都会根据其参数返回相应的运算结果。为方便调用,每一个函数都有一个函数名,其命名规则和变量名相同,二者之差别在于后面是否连接圆括号。如> Is=1#命名一个变量“Is,并赋值为1> Is()#这是一个函数,用于显示当前工作环境中的所有变量名称[1] "Is"#当前工作环境中只有前一句创造成功的变量“ls
2.1 基本概念 在R语言中,函数的使用形式如下: 函数名(参数1, 参数2, .) 每一个函数都会根据其参数返回相应的运算结果。为方便调用,每一个函数都有一个函数 名,其命名规则和变量名相同,二者之差别在于后面是否连接圆括号。如 > ls=1 #命名一个变量“ls”,并赋值为1 > ls() #这是一个函数,用于显示当前工作环境中的所有变量名称 [1] "ls" #当前工作环境中只有前一句创造成功的变量“ls” 2.1.2 函数和参数
2.1基本概念1.函数的形式参数与实际参数绝大多数函数的正确运行都需要设置若干参数,这些参数实际上是函数内部环境中的一些变量,也被称作形式参数。这些形式参数构成了每个函数特有的参数列表。当函数被程序调用时,需给形式参数传递具体的数据,这些具体的数据称作实际参数。每个形式参数都对实际参数的属性,如数据类型、数据长度等,有特定的要求,如实际参数不符合要求,则可能会产生一些意外结果,或者提示参数有误。参数值由实际参数向形式参数传递的过程,利用传值符号“="将二者连接。如:>set.seed(seed=1)>rnorm(n=3,mean=0,sd=1)[1]-0.62645380.1836433-0.8356286
1. 函数的形式参数与实际参数 绝大多数函数的正确运行都需要设置若干参数,这些参数实际上是函数内部环境中的 一些变量,也被称作形式参数。这些形式参数构成了每个函数特有的参数列表。当函数被 程序调用时,需给形式参数传递具体的数据,这些具体的数据称作实际参数。 每个形式参数都对实际参数的属性,如数据类型、数据长度等,有特定的要求,如实 际参数不符合要求,则可能会产生一些意外结果,或者提示参数有误。 2.1 基本概念 > set.seed(seed=1) > rnorm(n=3,mean=0,sd=1) [1] -0.6264538 0.1836433 -0.8356286 参数值由实际参数向形式参数传递的过程,利用传值符号“=”将二者连接。如:
2.1基本概念2.形式参数名称的省略在函数rnorm()中,三个形式参数的默认顺序依次为n、mean、sd。当调用这个函数时不打算改变形式参数的默认顺序,则可以省略形式参数的名称。但如果需要改变形式参数的顺序,则不能省略参数名称,必须指定各个实际参数到底传递给哪个形式参数。如:>set.seed(1)>rnorm(3,0,1)[1]-0.62645380.1836433-0.8356286> set.seed(1)>rnorm(mean=0,sd=1,n=3)[1]-0.62645380.1836433-0.8356286
2. 形式参数名称的省略 在函数rnorm()中,三个形式参数的默认顺序依次为n、mean、sd。当调用这个函数时不打 算改变形式参数的默认顺序,则可以省略形式参数的名称。但如果需要改变形式参数的顺 序,则不能省略参数名称,必须指定各个实际参数到底传递给哪个形式参数。如: 2.1 基本概念 > set.seed(1) > rnorm(3,0,1) [1] -0.6264538 0.1836433 -0.8356286 > set.seed(1) > rnorm(mean=0,sd=1,n=3) [1] -0.6264538 0.1836433 -0.8356286