有没有一种简单的方法可以从摘要中恢复factor对象?

有没有一种简单的方法可以从摘要中恢复factor对象?,r,R,例如: x <- c('A', 'A', 'B', 'C', 'C', 'C') x <- as.factor(x) print(summary(x)) 现在如果我有一个命名向量: nv <- c(A=2, B=1, C=3) nv对于您的特定示例,您可以使用rep,但是请注意:这不是一个通用的解决方案。事实上,我相信一个通用的解决方案是不可能的,因为summary丢弃了关于原始向量的信息 x <- factor(c('A', 'A', 'B', 'C', 'C',

例如:

x <- c('A', 'A', 'B', 'C', 'C', 'C')
x <- as.factor(x)
print(summary(x))
现在如果我有一个命名向量:

nv <- c(A=2, B=1, C=3)

nv对于您的特定示例,您可以使用
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"

(现在有一个包含所有正确元素的排序向量,但顺序不正确。)

谢谢Anfrie!也许我在帖子中不清楚,但我只需要不带顺序的向量。@Andrie
unname
是必要的吗?@pete不,你是对的-
unname
在这种情况下是多余的。答案已编辑。
x <- factor(c('A', 'A', 'B', 'C', 'C', 'C'))
xs <- summary(x)

rep(names(xs), times=xs)
[1] "A" "A" "B" "C" "C" "C"
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"