R barplot:在names.arg中使用colnames的子集

时间:2015-12-28 19:34:15

标签: r bar-chart

我正在尝试创建一个条形图,其中仅包含我感兴趣的结果与大量预测变量之间的前5个相关性。

我只用20来试试逻辑是正确的。

我有一个1乘20的数值向量,包含cor()函数产生的相关系数。有正面和负面的价值观。向量具有与预测变量名称对应的列名。这是我开始的结构:

set.seed(10)
mydata <- runif(20,-.5,.5)
mydata <- t(mydata)
colnames(mydata) <- letters[1:20]

5个最强的相关性是“t”,“q”,“m”,“e”和“f”,其中“t”是正的而另外4个是负的。我通过排序平方值来生成5个最强关联的条形图。

barplot(mydata[order(-mydata^2)][1:5], horiz=TRUE,names.arg=HELP, xlim= c(-1,1), las=1)

5个条的值看起来正确,但我无法正确显示标签。我为names.arg = HELP尝试过各种各样的东西,没有运气。我试过了

names.args = colnames(mydata)
names.args = colnames(mydata[order(-mydata^2)]
names.args = colnames(mydata[order(-mydata^2)[1:5]])
names.args = colnames(order(-mydata^2)[1:5])

我只想要一个带有正确5个标签的条形图。

我需要在13,000多个预测变量和30多个结果上重复这个过程,一旦计算出来就越简单越好。

1 个答案:

答案 0 :(得分:1)

这有效:

barplot(mydata[order(-mydata^2)][1:5], horiz=TRUE,
        names.arg=colnames(mydata)[order(-mydata^2)][1:5], xlim= c(-1,1), las=1)