R:S3类泛型函数
来源:互联网 发布:淘宝运费险怎么退订 编辑:程序博客网 时间:2024/04/29 15:40
R:S3类泛型函数
(本文参考R语言编程艺术,例子也是该书上的)
R中原始的类结构,就是S3类。其实,R中大多数内置类都是S3类。一个S3类包含一个 列表,再附加一个类名属性和调度的功能。说白了,就是R具有多态性,同一个函数针对不同的函数类型,可以调动不同的操作。也就是不同的类使用统一的接口。常用的泛型函数有plot()、print()等。现以print()来说明:
function (x, ...) UseMethod("print")<bytecode: 0x0000000007278520><environment: namespace:base>
你会发现print()函数仅仅由一个UseMethod()的调用构成,实际上,这只是一个调用函数,因此,将print()视为一个泛型型函数,也就无可或非啦。
编写S3类
可以赋予一个S3类不同的输出类型,如下代码
> j<-list(name="Joe",salary=55000,union=T)> j$name[1] "Joe"$salary[1] 55000$union[1] TRUE> class(j)[1] "list"> class(j)<-"employee"> attributes(j)$names[1] "name" "salary" "union" $class[1] "employee"> #现在编写自己的函数> print.employee<-function(wrkr){+ cat(wrkr$name,"\n")+ cat("salary",wrkr$salary,"\n")+ + cat("union member",wrkr$union,"\n")+ }> methods(,"employee") #检查一下类型[1] print.employee> jJoe salary 55000 union member TRUE
0 0
- R:S3类泛型函数
- R语言的S3类与泛型函数
- R语言泛型函数及S3,S4对象机制
- R语言-S3系统
- R中面向对象S3
- R Language OOP Using S3
- R 语言中的S3系统(笔记)
- s3
- s3
- s3
- S3
- s3
- R语言OOP(2):S3 OOP 的实现方法
- R语言基于S3的面向对象编程
- R语言S3、S4方法的定义以及实例化
- R函数
- R 函数
- R函数
- iOS 签名相关
- Hibernate创建表
- ABAP结构工作区内表标题行的定义和区别
- 深入理解C++11:C++11新特性解析与应用
- android SVN 过滤
- R:S3类泛型函数
- 怎样判断是小端存储模式还是大端存储模式
- 洛谷 P1428 小鱼比可爱
- 蓝牙工作流程
- 分布式缓存 Memcached简介
- CentOS 7.x下的LEMP环境搭建
- css样式控制tr中文字超出后折行显示
- ftp服务器端的默认端口修改了,如何使用wireshark抓包?
- python 元类