泛型函数- S3方法
泛型函数的应用结果根据R的对象的类的不同而有一定的差异,常见的泛型函数有print()
、plot()
、summary()
- 可用
methods(summary)
查看summary泛型函数所支持的类;
注意其中有一个summary.default
是当对象的类不符合summary所支持的特定的类时,所执行的函数。 - 可以用
class()
函数查看对象的类
summary(women)
class(women)
fit <- lm(weight ~ height, data = women)
summary(fit)
class(fit)
attributes(fit)
值得注意的一点是--任意的类能被分配到任意的对象上;如下代码,
fit
被改为任意的a类,summary不支持特定该类,转为summary.default
执行。
class(fit)
class(fit) <- "a"
class(fit)
attributes(fit)
summary(fit)
- 如上,这也是S3方法的主要限制;S4则更加严格,但也复杂,祝贺李就不过多介绍了。
处理大数据集的tips
- 尽量避免使用循环语句;优先选用R内建函数;
- 能用矩阵,就不用数据框;
- 读取大数据文本(含分隔符)时,指定所需的列即该列的类,运行高效。见下例
mydata <- read.table(myfile, header=TRUE, sep=",",
colClass=c("numeric", "numeric", "character",
NULL, "numeric", NULL))
如上将第1,2,3,5列读入到工作台,其中1,2,5列为数值型;第3列为字符型,同时不读取第4、6列。综上可以高效读取目标文本文件。
- .........
其它说明
结合以前的笔记,《R语言实战》基本学习到这里,除了第15章(时间序列)、20章(高级编程)、21章(创建包)、23章(lattice绘图)外,其它章节都有了如前笔记的大致梳理。
接下来看一看《R数据科学》这本书~~继续加油