Я уверен, что это тривиально, но я не могу найти, как это сделать.
У меня есть фрейм данных, в котором есть люди, каждый из которых может иметь несколько свойств, и каждое свойство классифицируется несколькими способами. В настоящее время он в длинной форме, с записью, похожей на (в схематичном виде, на самом деле это немного сложнее):
IndividualID Property PropClass
1 X A
1 Y B
2 X A
3 Y B
3 W C
3 Z A
Что мне нужно, так это одна строка для каждого отдельного идентификатора с индивидуальным идентификатором, а затем пары столбцов для каждого свойства и 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, сколько максимальное количество строк для любого индивидуального идентификатора в исходном наборе данных (, который невелик, около 5 ), и где у человека меньше строк в исходном наборе данных. чем это максимальное число, в дополнительных столбцах, которые ничего не значат для этого человека, есть NA. Порядок переменных Prop и PropClass для индивидуума не имеет значения (, хотя он может также быть исходным порядком в файле длинного формата ).
Очевидно, это легко сделать (, например. используя reshape ), если у вас есть одна пара столбцов Prop и propClass для каждого возможного значения Prop, но существует несколько сотен возможных значений Prop, поэтому файл становится огромным и бесполезным. Я не могу поверить, что нет простого способа сделать то, что я хочу, но я не нашел его, несмотря на то, что мне кажется усердным поиском. Пожалуйста, скажите мне, что я идиот, и если да, то как мне вылечить свой идиотизм.