作者Tamih (.....)
看板Statistics
标题Re: [问题] 如何看R的程式码
时间Mon Jan 5 23:58:21 2009
※ 引述《KirinGuess (Kirin)》之铭言:
: 请问在使用R时,怎样才能看到各种功能的程式码。
: 我有找到到3种方法:
: 1. 在功能名之前加「stat.」 ,例如:stat.anova
这个说法错误~!
stat.anova 跟 anova 这两个函数是不同作用的~!
你可以看看他们的说明或者函数内所使用的引数...
: 2. 在功能名之後加「.default」,例如:qqnorm.default
这是当函数有多个方法的时候,
函数设计者为不同方法所取的函数名字,
但不一定每个多方法的函数都有这 .default 的用法。
关於什麽是「方法」见我下面所述...
: 3. 直接输入功能名 ,例如:cor
当直接输入函数能取得函数内容时,表示其函数只有一种方法。
R 里面所谓的方法类似物件导向的观念,
函数会针对他所处理的物件型态,去找真正用的函数,
例如 plot 这函数,我们知道他可以画 x, y 的散布图,
其实他是使用了 plot.default 这支函数在画图,而 plot 还有很多不同方法,
可以使用 methods 这函数来查询该函数有哪些方法,
就像 plot 的话:
> methods(plot)
[1] plot.acf* plot.data.frame* plot.Date*
[4] plot.decomposed.ts* plot.default plot.dendrogram*
[7] plot.density plot.ecdf plot.factor*
[10] plot.formula* plot.hclust* plot.histogram*
[13] plot.HoltWinters* plot.isoreg* plot.lm
[16] plot.medpolish* plot.mlm plot.POSIXct*
[19] plot.POSIXlt* plot.ppr* plot.prcomp*
[22] plot.princomp* plot.profile.nls* plot.spec
[25] plot.spec.coherency plot.spec.phase plot.stepfun
[28] plot.stl* plot.table* plot.ts
[31] plot.tskernel* plot.TukeyHSD
就有上述 32 种方法,
譬如 plot.lm 就是当你 plot 这支函数里面放的是 lm 所建立出来的物件时,
所会用到的真实函数... 等等各种方法亦是如此,
只是使用 plot 这函数,可以省略後面,
他会直接针对物件型态寻找正确的真实函数来使用。
所以只要你利用 method 这函数找到真实的函数名字(後接 * 无法显示),
直接打他名字就能显示出他函数的程式原貌~!
如我有错,请各位纠正~!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.169.114.46
1F:推 KnightX:好熟的解释... xD 01/06 00:03
2F:→ Tamih:K大, 不好意思把你之前教的搬上来... :P 01/06 00:04
3F:→ clickhere:cor.test 即属於 * 的函式!! 01/06 01:33
4F:推 KirinGuess:谢谢您的说明。 01/06 03:01