Ошибка Barplot в R - PullRequest
       4

Ошибка Barplot в R

4 голосов
/ 27 сентября 2010

Я недавно создал барплот в R, используя некоторые образцы данных без проблем. Затем я попробовал это снова, используя реальные данные, которые были точно такими же, как и данные выборки, за исключением того, что их было больше. Проблема теперь я получаю эту ошибку:

Error in barplot.default(table(datafr)) : 
   'height' must be a vector or a matrix

Не знаю, поможет ли это, но когда я распечатываю таблицу, вот как выглядят последние строки.

33333  2010-09-13-19:25:50.206                             Google Chrome-#135   NA
  [ reached getOption("max.print") -- omitted 342611 rows ]]

Возможно ли, что это слишком много данных для обработки? Любое предложение о том, как я могу это исправить?

Спасибо:)


РЕДАКТИРОВАТЬ 1

Привет, Джорис,

Вот информация из str (datafr):

'data.frame':   375944 obs. of  3 variables:
 $ TIME     : Factor w/ 375944 levels "2010-09-11-19:28:34.680 ",..: 1 2 3 4 5 6 7 8 9 10 ...
 $ FOCUS.APP: Factor w/ 107 levels " Finder-#101  ",..: 3 3 3 3 3 3 3 3 1 1 ...  
 $ X        : logi  NA NA NA NA NA NA ...

и из traceback ()

3: stop("'height' must be a vector or a matrix")
2: barplot.default(table(datafr))
1: barplot(table(datafr))

Я также выполнил другую команду, которую вы мне сказали, но обратная связь была супер многословной; слишком много, чтобы напечатать здесь. Дайте мне знать, если вам нужна какая-либо другая информация или если последняя информация была действительно важной, я могу найти способ ее опубликовать.

Спасибо

1 Ответ

4 голосов
/ 27 сентября 2010

Ах, это решает проблему: у вас есть 3 измерения в вашей таблице, барплот не может справиться с этим. Возьмите 2 столбца, которые вы хотите использовать для функции barplot, например:

# sample data
Df <- data.frame(
  TIME = as.factor(seq.Date(as.Date("2010-09-11"),as.Date("2010-09-20"),by="day")),
  FOCUS.APP = as.factor(rep(c("F101","F102"),5)),
  X = sample(c(TRUE,FALSE,NA),10,r=T)
)

# make tables
T1 <- table(Df)
T2 <- table(Df[,-3])

# plot tables
barplot(T1)
barplot(T2)

Это сказало, что заговор должен выглядеть интересным по меньшей мере. Я не знаю, что вы пытаетесь сделать, но я бы сказал, что вы могли бы пересмотреть свой подход к этому.

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