9 Comments
访客 *刘思玥* @ 2010-03-17 06:01:29 写道:
Hello! 有一个比较棘手的问题:我想拟合一个GARCH-in mean (GARCH-M)的模型,但是找不到相应的命令。装载了许多包,tseries,fseries, fGarch 等等都没用。Tsay的那本Analysis of time series 里用的是s-plus 里的garch命令,但 R 里的garch命令 和s-plus的又不一样。有没有什么办法解决这个问题?
抱歉,S-Plus和R的garch我都不了解。但S-Plus的代码大多数都是可以在R下运行的,你可以看看S+的函数是否可以查看源代码。
——原帖发布于 2010-03-17 07:52:31
访客 *miriam* @ 2011-02-26 11:07:59 写道:
你好, 我如果想在包里多放几个函数 应该怎么加在code file里呢?谢谢
所有的函数源代码都放在包的目录R下,编译的时候这个文件夹下的所有R代码中的所有函数和对象都会被编到包中。你在CRAN上随便找个源代码包下载下来看看就知道了。
——原帖发布于 2011-02-27 01:15:26
访客 *miriam* @ 2011-02-27 08:32:45 写道:
谢谢!我还想问问 我在网上看到一个例子说:假如有一个函数 那么在man文件夹下会产生两个文件。如一个limnod.rd文件和一个limnod-package.rd,这两个文件有什么区别呀?我只产生了一个-package.rd文件,是不是要手动添加.rd文件呢? 如果自己又添加了很多函数 那么在man文件夹里添加关于这些函数的说明文件是.rd文件还是-package.rd文件呢? 谢谢您啊! 我可能问的问题有点低级……呵呵
linmod.rd是函数linmod()的帮助文档,linmod-package.rd是这个包的帮助文档(包的名字叫linmod)。这个例子不太好,容易引起混淆。通常来说,函数的帮助文档是必须的,包的文档是可选的,但这个文档如果好好写,对读者来说也是个好的导航。每个函数都要有一个相应的帮助文档。
如果你真要写包,我还是推荐用Emacs+roxygen,它比官方的做法起码快十倍。写rd文件太麻烦了。但roxygen和Emacs又不是一两句话能说清的东西……
——原帖发布于 2011-02-27 09:53:58
访客 *miriam* @ 2011-02-28 06:19:00 写道:
非常非常感谢您的帮助!
访客 *guanyuan* @ 2011-03-10 06:44:39 写道:
你好,我想请教您一个问题。
安装了
R-2.12.2-win.exe
ActivePerl-5.12.3.1204-MSWin32-x86-294330.msi
htmlhelp.exe
Rtools212.exe
并且设置了环境变量
然后打开命令提示符,输入 R 进入R命令模式
然后我按照教材,输入package.skeleton("hello",code_="hello.r")
但是被回应 hello.r is not an existing file
请问这是怎么了呢?
是因为没有按照miktex的缘故吗?
尝试skeleton的其他命令,会出现 乱码的中文
能帮帮我吗?
额滴神啊,但愿你不是从我这里学的如何写R包,你说的这些工具中,Perl和htmlhelp都不必装了,只要装R本身和Rtools就够了(当然,最好还有LaTeX)。
code_files参数要提供的是源代码的路径,如果你提供的路径不带文件夹,你的意思就是说这个(些)代码文件在当前目录下。既然报错说找不到,那么肯定不在当前工作目录下(看getwd())。
如果你是新手,我建议的方式是把你的代码在R里面运行一遍,然后package.skeleton('包名', list = c('这个函数名', '那个函数名等等'))
——原帖发布于 2011-03-10 09:11:26
访客 *guanyuan* @ 2011-03-10 10:36:17 写道:
非常感谢您的回答。
呵呵,我的确是个新手,不是从您这里学的写包。
我明白你的意思了,原来hello.r不是系统自带的啊,我只是安装了环境,然后就调用命令了,这是不对的。
还有一个问题,想请教您。
先描述一下问题吧:
我自己复制了一段代码存为freq.r。但在build的时候出错了,出现了如下的提示:
##########################################################
D:Program FilesRpackage>R CMD build freq
- checking for file 'freq/DESCRIPTION' ... OK
- preparing 'freq':
- checking DESCRIPTION meta-information ... ERROR
畸形维修人员域.
请参考'如何写R附加软件'说明书'写R程辑包'这一段中关于DESCRIPTION文件的信息.
#####################################################################
我具体的操作过程是下面这样的。
现在我复制了一段代码(这段代码我还看不懂)
freq <-
function(matr)
{
matr <- as.matrix(matr)
if(is.matrix(matr)){
stop("The input data must be matrix!n")
}
if(any(is.na(matr))){
matr 1] <- 1
result <- apply(matr, 2, sum)/nrow(matr)
return(result)
}
将它保存在D:Program FilesRpackage下面的freq.r
然后,我启动RGui,设置工作目录
setwd("D:/Program Files/R/package")
载入freq.r到内存
source("freq.r")
然后,打包
package.skeleton( name="freq", list= ls() )
以上步骤都成功通过的。
并且生成了新的文件夹freq。
然后,我又按照教材,读过并删除了read-and-delete me文件。
接下来,修改了description文件。
访客 *guanyuan* @ 2011-03-10 10:45:08 写道:
对了,我的description文件的内容如下:
Package: freq
Type: Package
Title: calculate relative frequency
Version: 1.0
Date: 2011-03-10
Author: Yuan Guan
Maintainer: 649310016@qq.com
Description: calculate relative frequency for species matrix
License: GPL-2
LazyLoad: yes
Suggests: vegan
呵呵,麻烦您了,有时间吗?
Maintainer一栏中没有写名字,只有邮箱。请参照Writing R Extensions画瓢。
——原帖发布于 2011-03-11 07:19:29
访客 *guanyuan* @ 2011-03-11 12:11:55 写道:
好感谢您呐!
访客 *guanyuan* @ 2011-03-15 05:30:43 写道:
我喜欢来这里提问。
先前的问题已经解决,我在windows下成功创建了包。
您好,我想咨询下您,您了解R中关于微阵列的使用吗?我老师告诉我,我主要用到R处理微阵列,我现在是摸不着头脑啊。
我生物方面了解一丁点,统计方面水平很低。
——原帖发布于 2011-03-15 07:39:58
访客 *guanyuan* @ 2011-03-15 07:41:21 写道:
不好意思,谢谢啦。
访客 *guanyuan* @ 2011-03-15 07:35:35 写道:
您好,我想请教您个问题。
被网上教材误导,安装了Rcmdr包,如何去掉它呢?我不想让它占用我的windows资源呀。
简单回答:remove.packages();复杂回答:因为它有很多依赖的包,所以不知道你装的过程中究竟装了多少依赖包,理论上这些都可以删掉,但得手工检查。装R包的时候最好不要装在和R同一个目录下,装在用户目录下比较好。这又不是三两句话能讲清的东西了。
——原帖发布于 2011-03-15 07:42:30
访客 *guanyuan* @ 2011-03-15 07:46:56 写道:
谢谢,您回答得已经很好了。
访客 *guanyuan* @ 2011-03-15 07:44:55 写道:
您好,这个命令
source(“http://bioconductor.org/biocLite.R”)
里面的脚本biocLite.R可以控制下载和安装的目录,但是我该如何修改它的参数,以控制它的下载和安装目录?
访客 *he168* @ 2012-03-10 01:42:08 写道:
您好,我也正在学习用R打包,我想请教您一下,就是src文件夹如何生成的?我一直都只能生成man和R两个文件夹(我想把c语言的源程序放进src文件夹里面)。
我给了一个最简化的例子:
https://github.com/yihui/r-ninja/tree/master/examples
——原帖发布于 2012-03-19 06:50:17
Sign in to join the discussion
Sign in with GitHub