2011-10-07 54 views

回答

5

以您的具體示例爲例,您可以使用rep,但請注意:這不是一般解決方案。實際上,我相信一個通用的解決方案是不可能的,因爲summary會丟棄關於原始矢量的信息。

x <- factor(c('A', 'A', 'B', 'C', 'C', 'C')) 
xs <- summary(x) 

rep(names(xs), times=xs) 
[1] "A" "A" "B" "C" "C" "C" 

的原因,這不是一般就是summary真的只是給聯表,從而失去對元素的位置信息。例如,如果我把你的載體和幾個A字符追加到尾部,看看會發生什麼:

x <- factor(c('A', 'A', 'B', 'C', 'C', 'C', 'A', 'A')) 
xs <- summary(x) 

rep(names(xs), times=xs) 
[1] "A" "A" "A" "A" "B" "C" "C" "C" 

(你現在有一個排序的向量與所有正確的元素,但不正確的順序)

+0

謝謝Anfrie!也許我在我的文章中不清楚,但我只需要沒有訂單的矢量。 –

+0

@Andrie是'unname'必需的嗎? – pete

+0

@pete不,你是對的 - 在這種情況下'unname'是多餘的。回答編輯。 – Andrie

相關問題