簡體   English   中英

R-定義因素時的有線頻率重新分配

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM