我正在调整一个新的工作,我与同事分享的大部分工作都是通过MS Excel进行的。 我经常使用数据透视表,因此需要“堆叠”的数据,就是我为此所依赖的R中reshape (reshape2)包中的melt()函数的输出。 任何人都可以让我开始在VBAmacros来完成这个,还是已经存在? macros观纲要是: 在Excel工作簿中select一个单元格范围。 开始“融化”的macros。 macros将创build一个提示,“inputID列的数量”,在那里你可以input识别信息的前几列。 (例如下面的R代码是4)。 在标题为“melt”的excel文件中创build一个新的工作表,用于堆叠数据,并创build一个名为“variable”的新列,与原始select的数据列标题相同。 换句话说,输出看起来和R中简单执行这两行的输出完全一样: require(reshape) melt(your.unstacked.dataframe, id.vars = 1:4) 这是一个例子: # unstacked data > df1 Year Month Country Sport No_wins No_losses High_score Total_games 2 2010 5 USA Soccer 4 3 5 9 3 2010 6 USA Soccer 5 3 4 8 4 2010 5 CAN Soccer 2 […]