当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R make.names 命名语法上有效的名称


R语言 make.names 位于 base 包(package)。

说明

从字符向量中创建语法上有效的名称。

用法

make.names(names, unique = FALSE, allow_ = TRUE)

参数

names

字符向量被强制转换为语法上有效的名称。如果有必要的话,这是强制的。

unique

逻辑性;如果 TRUE ,则结果元素是唯一的。例如,这可能是列名称所需要的。

allow_

合乎逻辑的。为了兼容R1.9.0 之前。

细节

语法上有效的名称由字母、数字和点或下划线字符组成,并以字母或点开头,后面不跟数字。 ".2way" 等名称无效,reserved 等单词也无效。

字母的定义取决于当前区域设置,但只有 ASCII 数字被视为数字。

人物"X"如有必要,可在前面添加。所有无效字符都将转换为"."。缺失值被转换为"NA"。匹配的名字R关键字后附有一个点。重复的值被更改为make.unique.

names 长度相同的字符向量,每个字符向量都更改为当前区域设置编码中的语法上有效的名称。

警告

某些操作系统(尤其是 FreeBSD)报告有关某些语言环境(通常是所有多字节语言环境,包括 UTF-8 语言环境)中哪些字符是字母的极其错误的信息。然而,R提供 Windows、macOS 和 AIX 上的替代品。

注意

之前R版本 1.9.0 中,下划线在变量名称中无效,依赖于它们转换为点的代码将不再工作。使用allow_ = FALSE为了向后兼容。

在创建名称以导出到不允许在名称中使用下划线的应用程序(例如,S-PLUS 和某些 DBMS)时,allow_ = FALSE 也很有用。

例子

make.names(c("a and b", "a-and-b"), unique = TRUE)
# "a.and.b"  "a.and.b.1"
make.names(c("a and b", "a_and_b"), unique = TRUE)
# "a.and.b"  "a_and_b"
make.names(c("a and b", "a_and_b"), unique = TRUE, allow_ = FALSE)
# "a.and.b"  "a.and.b.1"
make.names(c("", "X"), unique = TRUE)
# "X.1" "X" currently; R up to 3.0.2 gave "X" "X.1"

state.name[make.names(state.name) != state.name] # those 10 with a space

也可以看看

make.uniquenamescharacterdata.frame

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Make Syntactically Valid Names。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。