2
x <- c('A', 'A', 'B', 'C', 'C', 'C')
x <- as.factor(x)
print(summary(x))
會給結果:
A B C
2 1 3
現在,如果我有一個名爲向量:
nv <- c(A=2, B=1, C=3)
我怎樣才能輕鬆地在上面的例子保留x
不關心他們的命令?
在此先感謝。
x <- c('A', 'A', 'B', 'C', 'C', 'C')
x <- as.factor(x)
print(summary(x))
會給結果:
A B C
2 1 3
現在,如果我有一個名爲向量:
nv <- c(A=2, B=1, C=3)
我怎樣才能輕鬆地在上面的例子保留x
不關心他們的命令?
在此先感謝。
以您的具體示例爲例,您可以使用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"
(你現在有一個排序的向量與所有正確的元素,但不正確的順序)
謝謝Anfrie!也許我在我的文章中不清楚,但我只需要沒有訂單的矢量。 –
@Andrie是'unname'必需的嗎? – pete
@pete不,你是對的 - 在這種情況下'unname'是多餘的。回答編輯。 – Andrie