Я работаю с фреймом данных, где каждое наблюдение связано с определенным идентификатором, и у меня есть набор переменных, которые определяют «значения», как если бы у меня была факторная переменная. Однако значение в «ячейке» - это частота. Вот упрощенная версия:
ID 1 2 3
A 2 3 2
B 1 4 1
Я хотел бы получить два вектора, которые расширяют частоты, чтобы я мог вычислить интерполированную медиану для каждого идентификатора. То есть мне нужно что-нибудь в форме:
A B
1 1
1 2
2 2
2 2
2 2
3 3
3
В пакете psych
есть функция interp.median
, которая затем может брать каждый вектор и возвращать интерполированную медиану для каждого идентификатора, который я хотел бы включить в качестве новой переменной в исходный фрейм данных. Я проверил пакет vcdExtra
, который, возможно, мог бы сделать это с помощью своей функции expand.dft
, но я не уверен, как именно он будет работать.
Любая помощь будет принята с благодарностью!
РЕДАКТИРОВАТЬ: Чтобы уточнить немного больше, interp.median
будет работать лучше всего, если окончательный результат будет кадром данных с дополнением NA в конце. То есть что-то вроде:
A B
1 1
1 2
2 2
2 2
2 2
3 3
3 NA