写文章
首页
抗肺炎
旅游
移民
美食
保险报税
信用卡
购物娱乐
变美
房屋家居
生育养娃
生活
求职
教育
从零到一写R包(一) -- R包的结构

从零到一写R包(一) -- R包的结构

不知道起啥的xc
不知道起啥的xc
1158 浏览 2021-02-18 发布

学习资源

R的官方文档Writing R Extensions是目前编写R包最完整也是最好的参考文档。

本文主要参考此官方文档。

推荐中文阅读文档 R语言忍者秘笈

R包的结构

R文件夹 (其中包含R包里的code),DESCRIPTION文件

(1)DESCRIPTION

图片来自 徐静的博客

可以手动制作也可以使用R代码 ‘load_all()'
其中必须要填写的部分是 ‘Package’, ‘Version’, ‘License’, ‘Description’, ‘Title’, ‘Author’, 和 ‘Maintainer’,其他均为选填。注意:使用‘load_all()'后仍需手动添加‘Maintainer’。
1. Package:  包的名字
2. Version: 包的版本,“-”“.”都是分隔符号,要注意的是0.9和0.75他们不代表小数,其中0.9<0.75
3. Title: 引用其他包,其他软件使用单引号,引用其他书籍用双引号
4. Description: 一般用这个包的名字或者“this package”开头。引用其他包,其他软件使用单引号,引用其他书籍用双引号。 URL用<引用链接>

(2)Licensing

发布到CRAN的包必须要有开源许可证书。

(3)Package Dependencies

这一部分需要给出我们的包需要依赖的包。包后面可以自行选择是否添加版本信息。比如‘MASS (>= 3.1-20)’。

这一部分同样也可以给出需要依赖的R版本,比如‘R (>= 2.14.0), R (>= r56550)’ 

 

 

 

实例

写一个R包,提供以下四个方程,分别叫做 pxkcd, qxkcd, dxkcd 和 rxkcd。类似于R中其他的p, q, d, 和 r 方程,比如(qnorm,pnorm,dnorm,rnorm)

我们需要实现的分布是在xkcd comic 2118中介绍的。

 

 

假设f是正态分布的概率密度函数,我们现在有一个二元随机向量 (X,Y)均匀分布在坐标横轴和f函数之间。X的边缘分布是正态分布,给定X的Y的条件分布是(0,f(x))之间的均匀分布。Y的边缘分布就是xkcd分布,也是我们需要实现R函数的对象。

让h(y)代表从X均值到f(x)=y任意一点的距离,

Y的分布函数是:

用Mathematica算出Y的概率密度函数是

计算Y的分布是很困难的,目前看来只有数值的方法。

解答将会在后续文章中给出。

 

 

 

君君提示:你也可以写原创文章,点此查看详情 >>

本文著作权归作者本人和北美省钱快报共同所有,未经许可不得转载。文章仅代表作者看法,如有更多内容分享或是对文中观点有不同见解,省钱快报欢迎您的投稿。

1158 1 0 0
 
全部

点击排行榜

黑五价:lululemon官网 黑五大促 内衣$29 Scuba卫衣热门色补货$118

黑五价:lululemon官网 黑五大促 内衣$29 Scuba卫衣热门色补货$118

InStill瑜伽裤全线$69

679 lululemon

即将截止:La Mer 新增送50ml大瓶浓缩精华 修护套装$490

即将截止:La Mer 新增送50ml大瓶浓缩精华 修护套装$490

满减$300+送$1235礼 含3正装

978 La Mer

独家:雅诗兰黛 折扣区参加满赠 新增樱花水套装$127

独家:雅诗兰黛 折扣区参加满赠 新增樱花水套装$127

7折+满送400ml微晶水+线雕精华

1260 Estee Lauder

史无前例:Nordstrom Rack 黑五清仓 4件套床品$23 晒单抽奖

史无前例:Nordstrom Rack 黑五清仓 4件套床品$23 晒单抽奖

低至1折+额外4折 T恤$3

607 Nordstrom Rack

即将截止:Macys 黑五大促  空气炸锅$19 羽绒服$44 双瓶红腰子$195

即将截止:Macys 黑五大促 空气炸锅$19 羽绒服$44 双瓶红腰子$195

部分额外8折 小棕瓶套装7折

1665 macys.com

COACH Outlet 黑五全场闪促 星星水桶包$98 Serena斜挎包$75

COACH Outlet 黑五全场闪促 星星水桶包$98 Serena斜挎包$75

低至3折+额外7.5折+上新

859 COACH Outlet

手慢无:Clinique再升级 新增送紫胖子和眼唇卸 运通返$15

手慢无:Clinique再升级 新增送紫胖子和眼唇卸 运通返$15

7折+满送5正装 含100ml镭射

393 Clinique

Farfetch 年终大促 Marni菜篮子$106 Essentials T恤$55

Farfetch 年终大促 Marni菜篮子$106 Essentials T恤$55

低至5折+满额享8折+满额立减$40

2013 Farfetch

独家:UGG Closet 折扣区闪促 一脚蹬$62 大童毛拖鞋$26

独家:UGG Closet 折扣区闪促 一脚蹬$62 大童毛拖鞋$26

低至4折+额外9折 大量上新

492 UGG Australia

Amazon 网络周大促开启 礼卡低至8折 Apple超多史低

Amazon 网络周大促开启 礼卡低至8折 Apple超多史低

$1059收石头S7 MaxV Ultra

1063 Amazon.com