我需要定义一个因子和值的有线重新分配吗?!
首先定义一个矢量,具有清晰的频率。然后定义一个因子,标记为和频率改变 - 在所有输出上计数,并观察元素的新顺序。
第一个问题:我想决定这个"排名顺序" (即"Xanax"
,"Felax"
,"Relax"
)进行因子分解,(需要指定数据帧内ggplot的顺序)。那么如何保持初始元素顺序和初始元素频率?
第二个问题:WTF是那个?这是完全不一致的,还是我错过了什么?
(names <- c(rep("Xanax",5), rep("Felax",3), rep("Relax",4)))
[1] "Xanax" "Xanax" "Xanax" "Xanax" "Xanax" "Felax" "Felax" "Felax" "Relax" "Relax" "Relax" "Relax"
(names <- factor(names, labels=c("Xanax","Felax","Relax")))
[1] Relax Relax Relax Relax Relax Xanax Xanax Xanax Felax Felax Felax Felax
Levels: Xanax Felax Relax
答案 0 :(得分:1)
这种行为来自于不定义因子的水平 - 明确定义这些因素的良好实践。
(names1 <- factor(names, levels=c("Xanax","Felax","Relax"),
labels=c("Xanax","Felax","Relax")))
在您的示例中,您可以指定标签c(&#34; Xanax&#34;,&#34; Felax&#34;,&#34;放松&#34;)。但是因子级别的顺序尚未定义,因此默认值是按字母顺序排列的。 (或?factor
帮助说&#34;默认值是as.character(x)采用的唯一值集,按x和#34的递增顺序排序;)
levels(factor(names))
#[1] "Felax" "Relax" "Xanax"
所以你定义了因素&#39; Felax&#39;标签&#39; Xanex&#39;。