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


R recipes names0 命名工具


names0 创建一系列具有公共前缀的 num 名称。名称以前导零进行编号(例如 prefix01 - prefix10 而不是 prefix1 - prefix10 )。 dummy_names 可用于重命名无序和有序虚拟变量(在 step_dummy() 中)。

用法

names0(num, prefix = "x")

dummy_names(var, lvl, ordinal = FALSE, sep = "_")

dummy_extract_names(var, lvl, ordinal = FALSE, sep = "_")

参数

num

一个整数,表示创建的元素数量。

prefix

将开始每个名称的字符串。

var

原始因子名称的单个字符串。

lvl

因子水平的字符向量(按顺序)。当与 step_dummy() 一起使用时,lvl 将是调用 model.matrix 后产生的后缀(请参见下面的示例)。

ordinal

逻辑性强;原始因子是否已排序?

sep

用于名称和级别之间分隔符的单个字符值。

names0 返回长度为 num 的字符串,dummy_names 生成与 lvl 长度相同的字符向量。

细节

使用 dummy_names() 时,不是有效变量名称的因子水平(例如“某些带空格的文本”)将被 base::make.names() 更改为有效名称;请参见下面的示例。此函数还将更改序数虚拟变量的名称。序数虚拟变量不是使用“.L”、“.Q”或“^4”等值,而是使用简单的整数后缀,例如“_1”、“_2”等。

也可以看看

例子

names0(9, "a")
#> [1] "a1" "a2" "a3" "a4" "a5" "a6" "a7" "a8" "a9"
names0(10, "a")
#>  [1] "a01" "a02" "a03" "a04" "a05" "a06" "a07" "a08" "a09" "a10"

example <- data.frame(
  x = ordered(letters[1:5]),
  y = factor(LETTERS[1:5]),
  z = factor(paste(LETTERS[1:5], 1:5))
)

dummy_names("y", levels(example$y)[-1])
#> [1] "y_B" "y_C" "y_D" "y_E"
dummy_names("z", levels(example$z)[-1])
#> [1] "z_B.2" "z_C.3" "z_D.4" "z_E.5"

after_mm <- colnames(model.matrix(~x, data = example))[-1]
after_mm
#> [1] "x.L" "x.Q" "x.C" "x^4"
levels(example$x)
#> [1] "a" "b" "c" "d" "e"

dummy_names("x", substring(after_mm, 2), ordinal = TRUE)
#> [1] "x_1" "x_2" "x_3" "x_4"
源代码:R/misc.R

相关用法


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