我在R中有一些看起来像这样的数据:
data=c("a","a","a","b","b","c")
如何有效地(尽可能避免循环)处理此数据以获得2个新值,如下所示:
> vals
[1] 3 2 1
> lbls
[1] "a" "b" "c"
这样我就可以使用以下方式绘制饼图:
pie(vals, labels=lbls)
重要提示:我不能使用硬编码“a”“b”和“c”的解决方案。我需要一个解决方案,可以在不调整代码的情况下将任何字符串(如“d”或“e”)添加到数据中。
对于那些对我正在尝试做什么感到好奇的人:我正在尝试编写一个解析版本化文件的SVN责任的脚本,并绘制编辑器贡献的饼图。基本上data
是该文件的所有编辑者。
提前致谢:D
答案 0 :(得分:2)
这是你要找的吗?
pie(table(data), names(table(data)))