我怎样才能交换级别?

How can I swap the levels?

我在 R 中有以下代码:

a <- c("No", "Yes", "No", "Yes", "Yes")
af <- as.factor(a)

然后

levels(af)

Returns

[1] "No" "Yes"

问题在于,如果您不传递 positive 参数,caret::confusionMatrix 会将第一个因素视为积极因素。

如何调换级别,使第一个为“是”?

使用factor()函数:

a <- c("No", "Yes", "No", "Yes", "Yes")
af <- factor(a, levels = c("Yes","No"))

使用forcats

library(forcats)
a <- c("No", "Yes", "No", "Yes", "Yes")
af <- as.factor(a)

af
[1] No  Yes No  Yes Yes
Levels: No Yes

fct_recode(af, Yes = "No", No = "Yes")
[1] Yes No  Yes No  No 
Levels: Yes No