楼主: 哈啊哈11
9474 10

[实际应用] 请教一下:copula:::perspMvdc( ) 中三个冒号似的符号表示什么意思? [推广有奖]

11
tulipsliu 在职认证  发表于 2020-10-20 19:49:33
cheetahfly 发表于 2018-6-12 10:20
两个冒号的函数是供你调用的,三个冒号的函数是供两个冒号的函数调用的。
正在百度R 的三个冒号的解释,不小心又来到经管之家。
这里的解释不太准。

首先,两个冒号读作作用域,R 是面向对象的编程。灵感来自面向对象的编程比如C++语言和JAVA语言呢, 比如打开一个C++ 的函数,会有 use namespace std ; 这样的语句,代表名字空间;

在R里,每一个工具包都被认为一个名字空间。
这里比如想使用一个rugarch 工具包(类似高级语言的库文件)。
高级语言是这样的:
/* my c plus code */
#include <math.h>  /* load math file
#inclued <string.h> /* load character steam program file,so that the progran can use stream print ,like matlab`s print function
use namespace stc;
void main()
{
     s=100+200;  /* simple math calculate
     print(s);        /* use the h file  string which loaded by include command
} /* end of my c plus code

这里使用了作用域,但是我还没好好的写C++ 代码;

所以如果写C代码,必须本地计算机有这个库文件,否则 include 会失效。同理,R 如果要使用作用域调用某个工具包的函数,那么必须先已经安装了工具包的。

假设已经安装了 rugarch ,这里我们不用 library(rugarch) # load package 来调入。直接在没调入的时候使用作用域;

spec= rugarch::ugarchspec()  # 设定一个简单的garch 模型
fit<-rugarch::ugarchfit(data=data,spec=spec)  # 依然使用作用域
plot(fit)   # 我曾经打算使用作用域 rugarch::plot, 不过测试过不需要使用左右与,这个类对象可以被识别。

三个冒号的底层引用方法,官方手册有。我去年见到过。忘记了,哈哈。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 17:41