2 + x Erreur : objet 'x' introuvable > Sys.setenv(LANG = "en-6ren">
gpt4 book ai didi

R stop() 函数中的域参数有什么作用?

转载 作者:行者123 更新时间:2023-12-04 19:59:01 31 4
gpt4 key购买 nike

运行功能时

stop("m<0", domain=NA)

域的默认设置是 NULL ,但是当您将其设置为 NA 时会发生什么?我试图将域更改为此,但它似乎没有做任何不同的事情。报告的错误消息是相同的。

最佳答案

在 R 中,消息被划分为域,并且可以对域中的部分或所有消息进行翻译。您可以通过修改 LANG 来切换语言域。多变的:

> Sys.setenv(LANG = "fr")
> 2 + x
Erreur : objet 'x' introuvable
> Sys.setenv(LANG = "en")
> 2 + x
Error: object 'x' not found

示例用法:
> Sys.setenv(LANG = "de")
>
> if((length(nopkgs) > 0) && !missing(lib.loc)) {
+ pkglist <- paste(sQuote(nopkgs), collapse = ", ")
+ msg <- sprintf(ngettext(length(nopkgs),
+ "library %s contains no packages",
+ "libraries %s contain no packages",
+ domain = "R-base"),
+ pkglist)
+ warning(msg)
+ }
Fehler: Objekt 'nopkgs' nicht gefunden
>

...重新启动 R session
> Sys.setenv(LANG = "en")
> if((length(nopkgs) > 0) && !missing(lib.loc)) {
+ pkglist <- paste(sQuote(nopkgs), collapse = ", ")
+ msg <- sprintf(ngettext(length(nopkgs),
+ "library %s contains no packages",
+ "libraries %s contain no packages",
+ domain = "R-base"),
+ pkglist)
+ warning(msg)
+ }
Error: object 'nopkgs' not found
>

R 使用以下域。
  • 来自 R 解释器的 C 级错误和警告消息的域 R。
  • 每个包中的 R 停止和警告消息的域 R-pkg,包括基本包的 R-base。
  • 每个包中的 C 级消息的域 pkg。
  • 域 RGui 用于 R for Windows GUI 前端的菜单等。

  • 以这种方式划分消息使 R 具有可扩展性:随着包被加载,它们的消息翻译目录也可以被加载。

    翻译是根据当前指定的语言按域查找的,尽可能具体,因此,例如,奥地利语 (de_AT) 翻译目录将优先用于奥地利用户的通用德语 (de) 翻译目录。但是,如果存在特定的翻译目录但不包含翻译,则查询较不特定的目录。例如,R 有 en_GB 的目录,可以将标准消息中的美国语(例如灰色)翻译成英语。

    通常可以通过即时重新编码使用正确语言但错误字符集的翻译。 LANGUAGE 变量可以是一个以冒号分隔的列表,例如,se:de,按优先级降序给出一组语言。

    如果未找到合适的翻译目录或所选目录中未翻译特定消息,则使用英语。翻译后的目录存储为扩展名为 .mo 的二进制文件。域 R 和 RGui 的目录位于 R_HOME/share/locale 下,包特定目录位于已安装包的 po 目录下(因此需要位于源代码中的 inst/po 下)。这些目录包含每个由语言标识的翻译的目录,例如se 或 de_AT。每个语言目录都有一个子目录 LC_MESSAGES,并且在每个域的该文件中。因此,R 安装将至少包含文件
    share/locale/en/LC_MESSAGES/R.mo
    share/locale/en@quot/LC_MESSAGES/R.mo
    library/splines/po/en/LC_MESSAGES/R-splines.mo
    library/splines/po/en/LC_MESSAGES/splines.mo

    (`language' en@quot 是带有 Unicode 双向引号的英语,用于 UTF-8 语言环境。)

    引用: https://developer.r-project.org/Translations30.html

    关于R stop() 函数中的域参数有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47743388/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com