pie3D:x值必须是正数

时间:2014-12-01 02:05:23

标签: r statistics

我按如下方式加载supportdata变量。

supportdata=aggregate(scoredata$Support, list(Topic = scoredata$Topic), sum)

slices <- supportdata[2]

lbls <- supportdata[1]

typeof(slices)

3D爆炸饼图

pie3D(slices,labels=lbls,explode=0.1,main="Year wise scores for topic 1")

我收到以下错误:

  

pie3D出错(切片,标签= lbls,爆炸= 0.1,主要=&#34;年份   主题1和#34;)的分数:pie3D:x值必须是正数

supportdata变量包含以下信息,并使用聚合函数生成,该函数汇总了第二列中的分数。

# supportdata
#
#    Topic  x
#
#  1     c   14
#  2     c#  80
#  3     c++ 15
#  4     css  4
#  5     html 3
#  6    .net  3
#  7     php  0
#  8     sql  0

如何摆脱此错误?我试过搜索,但无法找到解决这个问题的方法。我尝试将其转换为as.numeric,as.integer,但它表示列表不能强制转换为double或integer类型。 :(

2 个答案:

答案 0 :(得分:2)

您的问题是使用[而不是[[建立索引,而library("plotrix") pie3D(supportdata[[2]],labels=supportdata[[1]], explode=0.1,main="Year wise scores for topic 1") 会返回数字的列表,而不是数字向量

with(supportdata,pie3D(x,labels=Topic,
      explode=0.1,main="Year wise scores for topic 1"))

工作正常,

{{1}}

答案 1 :(得分:1)

以下解决方案与Ben提供的解决方案完全不同。

slices <- t(supportdata[2])
lbls <- t(supportdata[1])
pie3D(slices,labels=lbls,explode=0.1,main="Pie Diagram for Support")