Помечать ось hist () в мультиплоте из циклов - PullRequest
0 голосов
/ 08 октября 2019

Я бы хотел построить заголовки моего информационного кадра на оси гистограммы. Мой код:

#histogram
     par(mfrow=c(2,5)) #multiplot parameters
        loop.vector <- 1:10
        for (i in loop.vector){
            z <- dados.no.id[,i] #dataframe without id column
            n <- dados[1,i] #dataframe with id column
            hist(z, main = (" ")) #histogram plot function
            xlab = paste(names(n))} #trying to plot headers from dataframe

Ниже приведен фрагмент моих данных (dados):

structure(list(id = 1:2, A = c(1.27, 1.27), B = c(0.33, -0.31
), C = c(4.47, 2.6), D = c(0.09, 0.09), E = c(-0.18, -0.01), 
    F = c(0.17, 0.22), G = c(178.46, 95.57), H = c(10.98, 7.33
    ), I = c(15042, 15038.09), J = c(6.89, 6.89)), class = "data.frame", row.names = c(NA, 
-2L))
#   id    A     B    C    D     E    F      G     H        I    J
# 1  1 1.27  0.33 4.47 0.09 -0.18 0.17 178.46 10.98 15042.00 6.89
# 2  2 1.27 -0.31 2.60 0.09 -0.01 0.22  95.57  7.33 15038.09 6.89

1 Ответ

0 голосов
/ 09 октября 2019

PS: когда вы задаете вопросы, пожалуйста, постарайтесь сделать их воспроизводимыми для нас. В этом случае dados.no.id по-прежнему отсутствует. Я предполагаю, что на самом деле это просто dados с первым удаленным столбцом, который я проксирую, используя i+1 вместо i в индексировании.

par(mfrow=c(2,5))                 # multiplot parameters
loop.vector <- 1:10
for (i in loop.vector){
  z <- dados[,i+1]                # dataframe without id column
  hist(z, main = (" "),           # histogram plot function
       xlab = names(dados)[i+1])  # trying to plot headers from dataframe
}

Кстати, это возможно (вероятно, даже) что у вас установлен пакет Hmisc, и в этом случае вы можете приблизиться, просто набрав:

par(mfrow=c(2,5))
Hmisc::hist.data.frame(dados[,-1], n.unique=1)
# or optionally
library(Hmisc)
par(mfrow=c(2,5))
hist(dados[,-1], n.unique=1)

(использование n.unique=1 требуется только из-за предоставленных вами образцов данныхЕсли вы посмотрите на источник функции, то увидите, что он показывает гистограмму для столбца только в том случае, если есть хотя бы n.unique значения, а некоторые из ваших столбцов имеют только одно уникальное значение в двух строках.)

Использование dados[,-1] построит все, кроме первого столбца (id в ваших данных). (Я думаю, что это приблизительно соответствует dados.no.id, который вы предложили в своем коде.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...