當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。