我很确定这个问题很简单,但我找不到如何处理它。
我有一个数据框,里面包含个体,每个个体都有若干属性,而每个属性又有许多分类方式。目前它的形式是长表格,一个记录看起来像这样(实际上更复杂一些):
我希望的是每个个体ID都对应一行,第一列为个体ID,后面的列表示该个体在原始文件中拥有的每个属性和属性分类。例如,在本例中:
我有一个数据框,里面包含个体,每个个体都有若干属性,而每个属性又有许多分类方式。目前它的形式是长表格,一个记录看起来像这样(实际上更复杂一些):
IndividualID Property PropClass
1 X A
1 Y B
2 X A
3 Y B
3 W C
3 Z A
我希望的是每个个体ID都对应一行,第一列为个体ID,后面的列表示该个体在原始文件中拥有的每个属性和属性分类。例如,在本例中:
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
因此,必须有与原始数据集中任何individualID的最大行数一样多的Prop和PropClass变量(该数据集不大,约为5个),当一个个体在原始数据集中的行数少于该最大数量时,对于该个体没有意义的额外列中将填充NA。对于个体的Prop和PropClass变量的顺序无关紧要(尽管可以使用长格式文件的原始顺序)。
如果您为每个Prop可能的值都拥有一对Prop和propClass列,则很容易达到这个目的(例如使用reshape)。但是,由于Prop有几百个可能的值,因此文件会变得非常庞大且难以处理。我不信没有一种简单的方法可以做到我想要的,但是尽管我进行了认真的搜索,也没有找到。请告诉我我是个傻瓜,如果是,请告诉我如何纠正我的错误。