我想将值分配给一个因子的水平。
例如,如果> 22 =成熟,如果

 x <- factor(c(13, 18, 35), levels = c("adolescence", "mature"))

最佳答案

仅使用Base R,这是一个两步过程。

假设您的初始 vector 是数字而不是字符串(如上所示),请使用cut函数定义初始因子等效项。
然后,使用factor函数中的“标签”选项来重命名因子水平。

factor(cut(c(13, 18, 35), breaks=c(0, 22, Inf)), labels = c("adolescence", "mature"))
#[1] adolescence adolescence mature
#Levels: adolescence mature

编辑
根据Ben的评论,一种简化的方法是将标签直接添加到cut函数:
cut(c(13, 18, 35), breaks=c(0, 22, Inf), labels = c("adolescence", "mature"))

关于r - 如何为因子水平分配值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61712791/

10-11 07:11