3.1编写自己的R函数5.函数的参数(2)参数的默认值:如果在编写函数时在参数表中直接为参数赋值,这个事先在函数中写好的参数值就是函数的默认值。默认值的意义是在调用函数时候如果没有对相应参数传值就会自动调用这个值:(3)“.”参数:如果函数需要很多的参数,设计函数时不希望参数列表过长,在R语言中解决这种问题的方式是使用“..”参数,注意事项:P58(4)用函数当作参数:在R语言中函数是可以当成一个参数传递给另外一个函数
3.1 编写自己的R函数 5. 函数的参数 (2)参数的默认值:如果在编写函数时在参数表中直接为参数赋值,这个事先在函数中 写好的参数值就是函数的默认值。默认值的意义是在调用函数时候如果没有对相应参数传 值就会自动调用这个值; (3) “.”参数:如果函数需要很多的参数,设计函数时不希望参数列表过长,在R语言 中解决这种问题的方式是使用“.”参数,注意事项: P58; (4)用函数当作参数:在R语言中函数是可以当成一个参数传递给另外一个函数
3.1编写自己的R函数6.通用函数一个函数接收到参数后本身什么都不做,只是根据参数来把这个工作交给与其相关的函数去执行,这样的函数就是通用函数(GenericFunction)。可以通过print)函数进行查看。【例3-6】设计一个通用函数,参数是中文的时候打印“你在说中文”,参数是英文的时候打印“YouarespeakingEnglish”speak<-function(x,..)>class(x)UseMethod("speak")[1] "chi">class(y)speak.chi<-function(x, .)[1] "eng"print("你在说中文!")>speak(x)1[1]"你在说中文!"speak.eng<-function(x,..)>speak(y)print("YouarespeakingEnglish!")[1] "Youarespeaking English!"I>x<-c("中国人""说中文")>y<-c("Englishman","speakingEnglish")>attr(x,'class)<-'chi">attr(y,'class')<-'eng
3.1 编写自己的R函数 6. 通用函数 一个函数接收到参数后本身什么都不做,只是根据参数来把这个工作交给与其相关的函数 去执行,这样的函数就是通用函数(Generic Function)。可以通过print()函数进行查看。 speak <- function(x,.){ UseMethod("speak") } speak.chi <- function(x, .){ print("你在说中文!") } speak.eng <- function(x,.){ print("You are speaking English!") } > x<-c("中国人","说中文") > y<-c("Englishman","speaking English") > attr(x,'class')<-'chi' > attr(y,'class')<-'eng' 【例3-6】设计一个通用函数,参数是中文的时候打印“你在说中文”,参数是英文的时候打印“You are speaking English”。 > class(x) [1] "chi" > class(y) [1] "eng" > speak(x) [1] "你在说中文!" > speak(y) [1] "You are speaking English!