回复 第20楼 的 谢益辉:

ESS本身的难度不是太大,但是Emacs却比较难。如果仅考虑R编程的话,Emacs+ESS的学习成本确实有点大。但考虑到Emacs其他各种功能,比如AUCTeX等,Sweave,Roxygen都可以在Emacs中完成。此外,Emacs的可移植性强。综上,我认为学习还是值得的。

借此向谢老大请教一个问题:

Emacs+ESS对中文字符支持有点问题,比如a<-"一",打印a的时候是乱码;b<-"二",则提示错误:

Error: invalid multibyte character in parser at line 1.

我的版本是WinXP_sp3_en+GNU Emacs 23.2+ESS 5.12.不知道谢老大有没有相同的问题或有什么好的解决办法

回复 第21楼 的 linkim:Emacs都知道“二”不是个好字?[s:11]

我大多数情况下用Ubuntu,在Windows下我估计还是编码问题,不知道options(encoding = 'UTF-8')是否管用(我今天已经第二次说这个问题了,Windows难伺候)。

1 年 后

回复 第9楼 的 cloud wei:如果RStudio支持代码折叠的话,我就用它了。

回复 第23楼 的 fan: http://www.rstudio.org/docs/using/code_folding

已然华丽丽的支持

回复 第24楼 的 肖楠:我估计回复 第23楼 的 fan:是指格式对齐外带图示的折叠:



这个来自Kate,其实吧既然rstudio用了QT,那么直接拿KDE的文字编辑组件不好么。至少文字编辑器是很不错的。

回复 第24楼 的 肖楠:貌似最新版本的增加了折叠功能。另外,虽然我试遍了options,但还是觉得字体、高亮什么的很难看没有艺术感……

RStudio 界面字体的默认显示效果还是不错的,跨平台后也基本没有很大差异。界面字体效果差不妨试试安装 Lucida Grande, 否则字体缺失的话会自动 fallback 到系统中现存其他字体上。编辑器部分可以选用 Monaco. 几个高亮方案也都是非常经典的,事实上源码中还有更多的方案,但是默认都注释掉了。

前两天试了下号称写 django 最好的 IDE Pycharm (Java), 那在 Linux 下的文本显示效果就是彻彻底底的悲剧 。。。和截图完全是两样。

「RStudio, 生活理想型的 R 集成开发环境。」

5 年 后

怎么不可以附图?
因为电脑用户名是中文的(这样 C:\Users\[中文字符], 问题是我rstudio没有安装这里,特别在C盘下新建了个“A_B”样式的目录),我设置了好几种方法均不能使用RStudio!
win64,手动安装、解压过来的打开均出现错误提示:
1.打开立即弹出一个 “R Message“,↓
Fatal error: ERROR system error 5 (拒绝访问。) [path=C:/Users/锟斤拷锟?AppData/Local/Temp/RtmpUD7qK1/rs-graphics-6b40f0d8-f7ca-4565-be7f-cb3a19b74c6b, target-dir=]; OCCURRED AT: rstudio::core::Error rstudio::core::FilePath::createDirectory(const string) const C:\Users\Administrator\rstudio\src\cpp\core\FilePath.cpp:846
2.Rstudio界面有但所有菜单弹不出来
请教,该如何正确使用?

    allen2017

    win下的rstudio对非ascii的用户名支持不好是个老问题了,不过目前看来没有补丁,在社区里倒是有人提出修复方法,而且从反馈看问题也暂时解决了,参见这里

    Kevin 的解决方案:

    Hi Julien,

    Thanks for the follow up. We've pinned down this particular issue to be due to RStudio mis-encoding the values set for the HOME and R_USER environment variables on startup, and we'll hopefully have a fix in a future release -- unfortunately, I don't think it will make it into the v1.0 release, but hopefully a patch release soon after.

    For now, I think you can work around this with some custom entries in your ~/.Rprofile:

    .First <- function() {
      # RStudio-specific startup
      if (!is.na(Sys.getenv("RSTUDIO", unset = NA)) &&
          Sys.info()[["sysname"]] == "Windows")
      {
        # work around mis-encoded environment variables
        USERPROFILE <- Sys.getenv("USERPROFILE")
        HOME <- file.path(USERPROFILE, "Documents", fsep = "\\")
        R_USER <- HOME
        R_LIBS_USER <- file.path(HOME, "R", "win-library", getRversion()[1, 1:2], fsep = "\\")
     
        Sys.setenv(
          HOME = HOME,
          R_USER = R_USER,
          R_LIBS_USER = R_LIBS_USER
        )
     
        # update library paths
        if (!isTRUE(file.info(R_LIBS_USER)$isdir))
          dir.create(R_LIBS_USER, recursive = TRUE)
        .libPaths(R_LIBS_USER)
      }
    }

    Please let us know if you encounter other issues; there are likely a number of other latent issues related to the handling of non-ASCII characters on Windows.

    Best,
    Kevin

      tctcab
      可以稍微具体说明下吗?谢谢
      按照他这个临时解决方法,我检查过只有这个文件 C:\R-3.4.3\library\base\R\Rprofile 比较符合Kevin的描述...依旧不知道如何解决

        allen2017
        没错就是那个rprofile,把上面的代码加入Rprofile里保存退出即可,下次打开Rstudio的时候就会加载这个函数。记得修改的时候得改一下Rprofile这个文件的权限,刚试了一下默认是写保护的。

        简单来说就是你碰到的错误是由于地址里包含了非ascii字符,导致R找不到library或者home的路径,这个函数基本干的事情就是在启动R时重新设置HOME,R_USER, R_LIBS_USER三个环境变量。

        allen2017

        尝试把用 Kevin 的方法完全替代文件内容

        没有说完全替代啊,把那段代码加到文件末尾,然后保存就行。

        另一种方案,而且是我推荐的做法,就是重新新建用户,且用户名为英文,这应该可以根本性地解决问题。

        方案1的缺点就是地址里依然留有中文,据我所知,R对包含特殊字符的地址非常敏感,也就是说即使方案1暂时成功了,躲得过初一躲不过十五,以后使用过程肯定会有问题。

        方案2根据个人经验应该没什么大问题,麻烦是麻烦一点,个人觉得还是值得这么做。