R语言置换函数的定义
来源:互联网 发布:阿里云与传统工业合作 编辑:程序博客网 时间:2024/06/07 13:02
R中可以自定义置换函数。 所谓的置换函数,就是左边不是变量名的赋值语句。例如:
names(x) <- c(‘a’, ‘b’)
这个语句设置了x的元素名称,它就是一个置换函数,因为左边不是变量名。从下面的例子就可以看出来发生了什么:
x <- list(1:10, 2:11)names(x) <- c('a', 'b')y <- list(1:10, 2:11)y <- 'names<-'(x = x, value = c('a', 'b'))xy
结果:
x## $a## [1] 1 2 3 4 5 6 7 8 9 10## ## $b## [1] 2 3 4 5 6 7 8 9 10 11y## $a## [1] 1 2 3 4 5 6 7 8 9 10## ## $b## [1] 2 3 4 5 6 7 8 9 10 11
从上面可以看出,names(x) <- value这个句子实际上调用的函数是’names<-‘(x, value),这个函数会返回更新名称后的对象。
下面的例子说明如何自己定义置换函数:
obj <- list(x = 1:10, y = 1 : 10)class(obj) <- 'test''xvar<-' <- function (x, value) { x$x <- value return(x)}xvar(obj) <- 11 : 20print(obj)
结果:
## $x## [1] 11 12 13 14 15 16 17 18 19 20## ## $y## [1] 1 2 3 4 5 6 7 8 9 10## ## attr(,"class")## [1] "test"
下面的例子与上面的例子类似,但是定义了S3类的方法:
obj <- list(x = 1:10, y = 1 : 10)class(obj) <- 'test''xvar<-' <- function (x, ...) { UseMethod('xvar<-')}'xvar<-.test' <- function (x, value) { x$x <- value return(x)}xvar(obj) <- 11 : 20print(obj)
结果:
## $x## [1] 11 12 13 14 15 16 17 18 19 20## ## $y## [1] 1 2 3 4 5 6 7 8 9 10## ## attr(,"class")## [1] "test"
0 0
- R语言置换函数的定义
- R语言置换检验
- R:置换函数
- R语言中函数定义与调用
- 置换检验(R语言实现)
- R语言的函数纪录
- R语言:函数的编写
- R语言基础(一)-常用数学函数与定义
- C语言在函数名与函数体之间定义变量--K&r C和ANSI C两种风格的函数声明和定义
- R语言定义多维数组
- R语言基础入门3--数值运算的R函数
- R语言的常用函数速查
- R语言数据统计分析的基本函数
- R语言 画图函数的参数 介绍
- R语言中seq函数的用法
- R语言函数的简单理解
- R语言的常用函数速查
- (R语言)编写自己的函数
- Android------以后进先出的方式加载图片
- div层调整z-index属性在IE中无效原因分析及解决方法
- STLport
- MongoDB shell中执行查询
- 你的充电宝能否上飞机
- R语言置换函数的定义
- MongoDB Shell中执行增
- MongoDB shell中执行删除
- 数据结构:倒排索引
- Linux内核分析(转自某大牛)
- 打钩的动画
- MongoDB shell中执行更新
- 从零开始学习Hadoop--第1章 Hadoop的安装
- unity上面调用andorid相册的插件-android部分