hist () основной заголовок из имени списка - PullRequest
1 голос
/ 04 августа 2020

Я рисую 7 гистограмм из списка aa и хочу обновить заголовок гистограммы в зависимости от позиции в списке.

Это то, что я получил до сих пор, но при выполнении я получаю следующую ошибку скрипт.

Ошибка в item_df [df]: недопустимый индекс типа 'list'

full_df <- read.csv("filename")

item_df <- split(full_df, full_df$PIA_ITEM)

par(mfrow = c(3,3)) # 3 rows and 3 columns
for (df in item_df) {
  hist(df[[7]], breaks=9,  main = paste("Histogram of", names(item_df[df])))
}

Ошибка указывает на мою попытку использовать индекс цикла для рисования позиция названия списка

main = paste("Histogram of", names(item_df[df]))

Ответы [ 2 ]

1 голос
/ 04 августа 2020

Поскольку данные не предоставлены, я добавляю пример с фиктивными данными, а затем возможный эскиз вашей проблемы. Основываясь на вашем коде, я думаю, вы пытаетесь добавить в качестве заголовка значение PIA_ITEM и отображать переменную в позиции 7. Этот фиктивный пример работает для iris:

full_df <- iris

item_df <- split(full_df, full_df$Species)

par(mfrow = c(3,3)) # 3 rows and 3 columns
for (i in 1:length(item_df)) 
{
  hist(item_df[[i]]$Sepal.Length, breaks=9,  
       main = paste("Histogram of", unique(item_df[[i]]$Species)),
       xlab = 'x')
}

И дает:

введите описание изображения здесь

И код вашей проблемы должен быть примерно таким:

full_df <- read.csv("filename.csv")

item_df <- split(full_df, full_df$PIA_ITEM)

par(mfrow = c(3,3)) # 3 rows and 3 columns
for (i in 1:length(item_df)) 
{
  hist(item_df[[i]][,7], breaks=9,  
       main = paste("Histogram of", unique(item_df[[i]]$PIA_ITEM)),
       xlab = 'x')
}
0 голосов
/ 04 августа 2020

Адаптируйте этот пример:

item_df <- split(mtcars[, 1], mtcars$cyl)

par(mfrow = c(1, 3))
for (i in names(item_df)){
  hist(item_df[[ i ]], main = paste("Histogram of", i))
}

введите описание изображения здесь

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