如何根据名称(c)订购“结构”类型的对象?

时间:2013-07-04 14:10:30

标签: r

我有一个看起来像这样的对象:

structure(c(0, 2, 0, 3, 5, 0), .Names = c("6", "1", "3", "4", "2", "5" ))

我需要这个对象的值按照名称指示的顺序,如果它们是整数而不是现在的字符。对象应该是(2,5,0,3,0,0)我不介意它是一个带有行名的向量或矩阵,但我根本无法对这个对象进行排序。 感谢

1 个答案:

答案 0 :(得分:1)

你有一个命名向量。函数structure是打包对象以便分发的便捷方式。请注意,您在.Names之前缺少逗号。

x <- structure(c(0, 2, 0, 3, 5, 0), .Names = c("6", "1", "3", "4", "2", "5" ))
right.order <- order(as.numeric(names(x)))
x[right.order]

1 2 3 4 5 6 
2 5 0 3 0 0