我正在寻找一种“优雅”的方法来基本上按一个列变量的级别拆分数据框,然后创建一个新的输出数据框,重新整形以现在删除因子变量并为因子变量的级别添加新列。我可以使用诸如 split() 方法之类的函数来做到这一点,但这对我来说似乎是一种混乱的方式。我一直在尝试使用 plyr 包中的 melt() 和 cast() 函数来做到这一点,但没有成功获得我需要的确切输出。
这是我的数据的样子:
> jumbo.df = read.csv(...)
> head(jumbo.df)
PricingDate Name Rate
186 2012-03-05 Type A 2.875
187 2012-03-05 Type B 3.250
188 2012-03-05 Type C 3.750
189 2012-03-05 Type D 3.750
190 2012-03-05 Type E 4.500
191 2012-03-06 Type A 2.875
我想做的是按变量name拆分,删除Name和Rate,然后输出Type A、Type B、Type C、Type D和Type E的列,并带有相应的 Rate 系列,其中 Date 为 ID:
> head(output.df)
PricingDate Type A Type B Type C Type D Type E
2012-03-05 2.875 3.250 3.750 3.750 4.500
2012-03-06 2.875 ...
谢谢!