fct_unique 和 unique 有什么区别?

What is the difference between fct_unique and unique?

函数unique()fct_unique()有什么区别?除了 fct_unique() 仅适用于因子之外似乎没有任何区别,而 unique() 适用于所有变量,分类和数字。

除了问题中已经提到的 fct_unique 仅适用于 factors 的区别之外,其他区别是它们 return 输出的方式。

f <- factor(c('a', 'x', 'b', 'b', 'y', 'r'))
f
#[1] a x b b y r
#Levels: a b r x y

forcats::fct_unique(f)
#[1] a b r x y
#Levels: a b r x y

unique(f)
#[1] a x b y r
#Levels: a b r x y

fct_unique returns 按因子水平的顺序输出,而 unique returns 按它们在向量中出现的顺序输出。