有没有一种简单的方法可以从摘要中恢复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!也许我在帖子中不清楚,但我只需要不带顺序的向量。@Andrieunname
是必要的吗?@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"