我是R的新手,我正在使用R 3.2.2制作一个名单中的饼图。我已将数据汇总到dataframe data.agg2中,如下所示:
> data.agg2
Group.1 x
1 Sam 210341519
2 Mike 1619119095
3 Carol 5863766
4 Chuck 42306834
5 Brent 34369163
6 Linda 22083392
7 Ashley 314110358
但是,当我使用以下命令运行数据来制作饼图时:
pie(data.agg2$x, labels=data.agg2$Group.1, main = "Popularity of Names")
我随后得到了错误/警告的组合:
Error in seq.int(x[i], x[i + 1], length.out = n) :
'length.out' must be a non-negative number
In addition: Warning messages:
1: In pie(data.agg2$x, labels = data.agg2$Group.1, main = "Popularity of Names") :integer overflow in 'cumsum'; use 'cumsum(as.numeric(.))'
2: In sum(x) : integer overflow - use sum(as.numeric(.))
我不明白为什么假设我的x列中的数字很大,序列命令末尾的length.out将是一个负数。我已经尝试使用as.numeric(as.factor(data.agg2$x))
将我的x列(最初为整数)更改为数字,这似乎没有做到这一点(尽管我做错了?)。此外,我主要专注于探索错误本身,但也许它与我得到的警告有关 - 我对如何解决这些警告的研究指向将x变量转换为数字形式,这(如果我做的话)它正好在上面),并没有解决问题。
感谢任何帮助!