gpt4 book ai didi

r - 在应用 gsub 后保持因子的顺序

转载 作者:行者123 更新时间:2023-12-01 11:16:06 24 4
gpt4 key购买 nike

我有这个向量:

x <- factor(c("A.B", "C.D", "U.X", "X.U", "A.A"))

然后订购:

x <- factor(x, levels=rev(levels(x)), ordered=T)
x
[1] A.B C.D U.X X.U A.A
Levels: X.U < U.X < C.D < A.B < A.A

我想去掉“.”并将其替换为空格:

x <- as.factor(gsub(".", " ", x, fixed=TRUE))

但这并不能使因素保持不变:

x
[1] A B C D U X X U A A
Levels: A A A B C D U X X U
str(x)
Factor w/ 5 levels "A A","A B","C D",..: 2 3 4 5 1

如何在保持其顺序的同时对 x 执行替换?

最佳答案

您必须在因子的级别上操作:

x <- factor(c("A.B", "C.D", "U.X", "X.U", "A.A"))
x <- factor(x, levels=rev(levels(x)), ordered=T)
levels(x) <- gsub(".", " ", levels(x), fixed=TRUE)
x
# [1] A B C D U X X U A A
# Levels: X U < U X < C D < A B < A A
str(x)
# Ord.factor w/ 5 levels "X U"<"U X"<"C D"<..: 4 3 2 1 5

通过这种方式,除了因子水平的显示方式外,您的排序因子不会改变。

关于r - 在应用 gsub 后保持因子的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51044277/

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