【发布时间】:2012-07-03 08:17:56
【问题描述】:
我确信这是微不足道的,但我不知道怎么做。
我有一个数据框,其中有个人,每个人都可以有多个属性,并且每个属性都以多种方式分类。目前它是长形的,有一张唱片看起来像(在示意图中,实际上它有点复杂):
IndividualID Property PropClass
1 X A
1 Y B
2 X A
3 Y B
3 W C
3 Z A
我想要的是每个单独的 ID 有一行,带有单独的 ID,然后是该个人在原始文件中的每个属性和 PropClass 的列对,所以在这种情况下:
IndividualID Prop1 PropClass1 Prop2 PropClass2 Prop3 PropClass3
1 X A Y B NA NA
2 X A NA NA NA NA
3 Y B W C Z A
因此,Prop 和 PropClass 变量的数量必须与原始数据集中任何个人 ID 的最大行数一样多(不大,大约 5),并且个人在原始数据集中的行数少于原始数据集中的行数那个最大数量,对那个人没有任何意义的额外列中有 NA。个人的 Prop 和 PropClass 变量的顺序无关紧要(尽管它也可能是长格式文件上的原始顺序)。
显然,如果您有一对 Prop 和 propClass 列用于 Prop 的每个可能值,那么很容易做到这一点(例如,使用 reshape),但是 Prop 有数百个可能值,因此文件变得庞大且无用。我不敢相信没有一种简单的方法可以做我想做的事,但是尽管在我看来是刻苦的搜索,但我还是没有找到它。请告诉我我是个白痴,如果是的话,我该如何治愈我的白痴。
【问题讨论】: