如何从单个列矩阵中提取前十个值,并将相应的行名输出到矢量?
我想在我生成的饼图上放置标签,但是对于我的生活无法弄清楚如何。
非常感谢。
添
答案 0 :(得分:3)
这里的事情有点简单,因为你有一个单列矩阵,也可以被视为一个向量。
rownames(x)[order(x, decreasing=TRUE)][1:10]
这将按递减顺序返回x的前10个索引,提取x的名称的相应元素。
答案 1 :(得分:1)
这是一些数据
set.seed(123)
x = matrix(runif(26), 26, dimnames=list(LETTERS, NULL))
生成一个命名向量以避免簿记错误,利用R将一维矩阵拖放到具有相应维度名称的向量的事实。
o = order(x, decreasing=TRUE)[1:10]
Result = x[o,] # _named_ numeric
使用点图来更好地呈现值,尤其是便于比较量值
library(lattice)
dotplot(Result, type=c("l", "p"), cex=2, xlim=c(0, 1))
或按字母顺序排列(没有簿记担忧!)
o = order(names(Result))
dotplot(Result[o], type=c("l", "p"), cex=2, xlim=c(0, 1))