[英]R - wired frequency redistribution when defining factors
我需要定義一個因素,然后出現值的有線重新分配?
首先定義一個具有清晰頻率的向量。 然后定義一個因子,標記為,頻率發生變化-在所有輸出端都進行計數,並觀察元素的新順序。
第一個問題:在分解之前,我想確定這個“排序順序”(即"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
此行為來自未定義因素的級別-明確定義這些因素的良好實踐。
(names1 <- factor(names, levels=c("Xanax","Felax","Relax"),
labels=c("Xanax","Felax","Relax")))
在您的示例中,分配標簽c(“ Xanax”,“ Felax”,“ Relax”)。 但是因子級別的順序尚未定義,因此默認設置為字母順序。 (或如?factor
幫助所說:“默認值為as.character(x)所采用的唯一值集,並按x的升序排序”)
levels(factor(names))
#[1] "Felax" "Relax" "Xanax"
因此,您將標簽“ Xanex”定義為因子“ Felax”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.