R中的Barplot错误

时间:2010-09-27 13:43:37

标签: r

我最近使用一些样本数据在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

嘿Joris,

这是来自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 个答案:

答案 0 :(得分:4)

啊,这解决了问题:你的表中有3个维度,barplot无法处理。将您想要用于条形图功能的2列,例如:

# 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)

这就是说,至少可以说这个情节看起来很有趣。我不知道你尝试做什么,但我会说你可能会重新考虑你的方法。