• R语言
  • Eclipse + StatET真的不错。

[quote]引用第7楼luansheng2008-11-29 21:12发表的“”:



将启动类型选择Rterm就没有问题了。如果选择RJ,那么在控制台中因为java的原因会不识别中文,出现乱码。[/quote]



今天试了试,问题已经解决了,谢谢luansheng的帮忙!
大家谁总结好了把这篇帖子以更正式的形式发到主站吧http://cos.name,帐号申请请发邮件到admin[at]cos.name,谢谢!
[quote]引用第18楼cloud_wei2008-12-02 23:03发表的“”:

http://a-lucky-bird.spaces.live.com/blog/cns!9FE71C3A1FA0267F!774.entry上面基本很全了,就差14楼的高亮了,要是博主同意的话,稍加补充就可以了。



另外,这个博客上精彩文章可不少啊。估计博主也有COS的ID吧,不妨冒个泡,顺便为我们的主站做做贡献。 [/quote]



我没有意见。但我没有http://cos.name的ID,有兴趣的朋友可以发上去。

--胡荣兴(hurongxing@hotmail.com)
网上找了一个搜索包中函数的函数。
<br />
findfuns <- function(x) {<br />
      if(require(x, character.only=TRUE)) {<br />
         env <- paste("package", x, sep=":")<br />
         nm <- ls(env, all=TRUE)<br />
         nm[unlist(lapply(nm, function(n) exists(n, where=env,<br />
                                                mode="function",<br />
                                                inherits=FALSE)))]<br />
      } else character(0)<br />
 }<br />


这样就可以将自己所有安装的包的函数找出来了,就可以自己添加到相应的文本里面以实现高亮。比如,要将自己现在已经载入的包中的函数都找出来可以:
<br />
z <-  lapply(.packages(all.available = FALSE), findfuns)<br />
z=unique(sort(unlist(z)))<br />
cat(z,file='out.txt',sep=',')<br />


然后直接将文本复制粘贴到相应文件就行了。
[quote]引用第19楼bravebird2008-12-03 00:03发表的“”:



我没有意见。但我没有http://cos.name的ID,有兴趣的朋友可以发上去。

--胡荣兴(hurongxing@hotmail.com)[/quote]



已经为你创建帐号,请查收邮件。谢谢!
目前我遇到的问题:

1、自己添加的函数应该可以像R中一样实现自动补全单词,但现在还不知道该如何实现;

2、在Eclipse中使用"?×××"这样的帮助语句以概率1发生死机事件,而我在Tinn-R中则根本调不出帮助,不知道这是普遍现象还是我的设置问题;

3、在Eclipse中画图也会随机发生死机事件;

4、Eclipse真的很占资源……(这个是没办法了,呵呵 )。



希望高手能予以帮助。





另外感觉COS越来越像一个Digg站了。
[quote]引用第22楼Ihavenothing2008-12-03 12:27发表的“”:

1、自己添加的函数应该可以像R中一样实现自动补全单词,但现在还不知道该如何实现;

2、在Eclipse中使用"?×××"这样的帮助语句以概率1发生死机事件,而我在Tinn-R中则根本调不出帮助,不知道这是普遍现象还是我的设置问题;

3、在Eclipse中画图也会随机发生死机事件;

4、Eclipse真的很占资源……(这个是没办法了,呵呵 )。

.......[/quote]

1. 同问。

2. 我好好的,没有死过机。

3. 也没有遇到。

4. 确实,太大了,可怜我的老机了。
所以我现在的做法是用statET+eclipse的语法高亮功能,然后编写调用Rscript.exe的批处理脚本,速度快,又方便并且在eclipse中的操作更加方便.如果配合上ant的build.xml真是爽到极点.并且中间生成的图像都会以.pdf的形式保存下来,省去了自己去一个一个图像窗口关闭的麻烦.
可以把文章的内容在主页折叠起来吗?否则主页要拉很长的滚动条……
[quote]引用第22楼Ihavenothing2008-12-03 12:27发表的“”:

目前我遇到的问题:

1、自己添加的函数应该可以像R中一样实现自动补全单词,但现在还不知道该如何实现;

2、在Eclipse中使用"?×××"这样的帮助语句以概率1发生死机事件,而我在Tinn-R中则根本调不出帮助,不知道这是普遍现象还是我的设置问题;

3、在Eclipse中画图也会随机发生死机事件;

4、Eclipse真的很占资源……(这个是没办法了,呵呵 )。

.......[/quote]

调用帮助需要设置pager的选项:options(pager="internal"),否则Tinn-R的帮助文件会显示在Tinn-R自己的窗口中(我是指启动Rterm的情况下)。
[quote]引用第22楼Ihavenothing2008-12-03 12:27发表的“”:

目前我遇到的问题:

1、自己添加的函数应该可以像R中一样实现自动补全单词,但现在还不知道该如何实现;

2、在Eclipse中使用"?×××"这样的帮助语句以概率1发生死机事件,而我在Tinn-R中则根本调不出帮助,不知道这是普遍现象还是我的设置问题;

3、在Eclipse中画图也会随机发生死机事件;

4、Eclipse真的很占资源……(这个是没办法了,呵呵 )。

.......[/quote]



可能是假死,你不要关闭它的弹出窗口,重新运行命令就可以解决问题。

占资源的问题很可能是你没有正确关闭R的控制台,导致打开了多个Rgui,你可以打开任务管理嚣,看下“Rterm.exe”进程的个数。
发现statET中,Rterm和RJ的性能存在很大的差异





代码稍微长点

Rterm要1分钟

RJ只要2秒



如果不是RJ有乱码,我就用RJ了



不知道乱码问题如何解决。



编译速度就快了。
[quote]引用第28楼bravebird2008-12-03 15:10发表的“”:





可能是假死,你不要关闭它的弹出窗口,重新运行命令就可以解决问题。

占资源的问题很可能是你没有正确关闭R的控制台,导致打开了多个Rgui,你可以打开任务管理嚣,看下“Rterm.exe”进程的个数。[/quote]



果然如此,在假死的时候再输一次命令就活了,真乃“置之死地而后生”也!太感谢了!



另外再问一下谢大师兄,Tinn-R的配置是不是要更改Rprofile.site这个文件?

目前这个文件中我保留了下面几句,不知道要如何更改?多谢师兄!

options(chmhelp=TRUE)

library(utils)

options(use.DDE=T)

.trPaths=c(一系列路径)
用MyEclipse测试后:



优势:

1. 简单的项目文件管理

2. 继承Eclipse开发组源代码共享功能

3. 简单的高亮,加自定义高亮

4. 编辑自动对齐缩进

5. Rd文件编辑

6. 后台调R



劣势:

1. 没有调试功能, 遗憾

2. 无法实现结构分析,list中的成员的显示提取,S4类成员的显示与提取, 再次遗憾

3. 通过rJava连接,效率下降,限制R性能的发挥

4. 没有Linux版本

5. 用Eclipse占用资源过大

6. 不很稳定,有bug



结论:statET并不像楼主说的那么好么,目前只是一个高级文本编辑器,至于调用R,用的还是人家的rJava,做成Eclipse插件,只是为了在后台调用R。代价和好处比起来,有点大。
[quote]引用第31楼karlqi2008-12-04 00:38发表的“”:

用MyEclipse测试后:



优势:

1. 简单的项目文件管理

2. 继承Eclipse开发组源代码共享功能

.......[/quote]



不需要安装rjava,调用rterm可以运行。
为什么我的run命令时常失灵?

在对话框里就显示

source("E:\\csvimport.R")之类的,不显示运行的结果?