2018-04-04

R与Excel

有人说,Excel中被使用最多的功能是数据透视。我没有统计过,也不想做这样繁琐的工作,让我假设这是真的,是一个真命题。

再做一个假设,假设正在读这些文字的你觉得使用Excel是完成某个特定的问题是烦人的。

这里给出使用R来完成这个功能(算法)的一个方案。

  1. 打开任意一文本编辑器。

  2. 创建一个数据框,使用IO函数把文件里的数据丢进去。

  3. 把reshape包加载到R会话中,使用melt函数融合数据。

  4. 使用cast重铸成你想要的样子。

  5. 我看到的一些文章,介绍到第3步就结束了,大概作者认为所要的数据透视表已经出来。但一般Excel作出来的透视表还有加总的一列。所以如果你需要有一列是用来表示总和的话,那么先创建一个矩阵,把数据框的数值部分丢到数据框里,使用apply函数作用矩阵,返回两个数值向量。

  6. 把这两个向量放到那个数据框了。显然,这并不能一步完成,其中一个当作变量放进去,另一个放到一个具有相同变量的数据框列,然后使用cbin函数拼接起来。这样,这个数据框就相当于一个数据透视表。

  7. 保存文本,在使用时运行这个脚本。

参考《R语言实战》

你可能感兴趣的:(2018-04-04)