我按如下方式加载supportdata变量。
supportdata=aggregate(scoredata$Support, list(Topic = scoredata$Topic), sum)
slices <- supportdata[2]
lbls <- supportdata[1]
typeof(slices)
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类型。 :(
答案 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")