gpt4 book ai didi

r - 工厂如何在 R 中自动订购其等级?

转载 作者:行者123 更新时间:2023-12-04 10:43:55 24 4
gpt4 key购买 nike

f1 <- c("a", "b", "c")

f2 <- c("x", "e", "t")

f1 <-factor(f1)

f1
#[1] a b c
#Levels: a b c


str(f1)
#Factor w/ 3 levels "a","b","c": 1 2 3

f2 <-factor(f2)

f2
#[1] x e t
#Levels: e t x

str(f2)
#Factor w/ 3 levels "e","t","x": 3 1 2

如前所述,为什么f2"e"被取为3?按字母顺序考虑不应该是1吗?

最佳答案

您将 f2 设置为 c("x", "e", "t") 因此 "x"是因子 3 (按字母顺序)仍然排在第一位,而排在第二位的“e”实际上有因子 1

    f2 <- factor(c("x", "e", "t"))
str(f2)
Factor w/ 3 levels "e","t","x": 3 1 2

str(f2) 结果说明:

  • f2 是 Factor 类型,这意味着值不按原样使用,而是编码为因子

  • f2 有 3 级因子(3 个不同的值),顺序为“e”、“t”、“x”,因此“e”被编码为因子 1 ,“t”被编码为因子 2,“x”被编码为因子 3

  • f2 包含 3 个编码值 3, 1, 2

分解:

  • 取第一个编码值 (3),并将其替换为其级别 ("x"=factor 3),
  • 然后是第二个编码值 (1),并将其替换为它的级别 ("e"=factor 1),

...

  • 然后是最后一个编码值 (2),并用它的级别 ("t"=factor 2) 替换它

=> 你得到“x”、“e”、“t”。

让我们在 f2 的末尾添加一个额外的值(又是“e”)

    f2[4] <-  "e"
str(f2)
Factor w/ 3 levels "e","t","x": 3 1 2 1

您可以看到“e”的因子 1 编码现在位于第 4 个位置。

f2 现在代表:“x”、“e”、“t”、“e”。

关于r - 工厂如何在 R 中自动订购其等级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35948120/

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