2011-10-07 57 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

相关问题