У меня есть набор данных, который содержит (в дополнение к номерам идентификаторов наблюдений) переменные, каждая из которых имеет только одно значение, которое должно быть частью имени нескольких связанных переменных (см. Пример ниже). Вот миниатюрная версия набора данных:
df_input <- tribble(
~id, ~name_code1, ~count1, ~value1, ~name_code2, ~count2, ~value2,
1, "A0000", 0, 0, "A0001", 5, 200,
2, "A0000", 1, 5, "A0001", 2, 50,
3, "A0000", 20, 3000, "A0001", 3, 30,
)
Итак, каждое подмножество переменных имеет name_code #, count # и value #, где переменные сгруппированы по одинаковому номеру #. Обратите внимание, что для данного # name_code # всегда принимает только одно значение, уникальный идентификатор для этого набора переменных. Я хотел бы, чтобы для произвольного числа #s можно было установить одно значение name_code'i 'в качестве префикса для имени каждой переменной' i ', а затем удалить' i 'из имен переменных.
Более кратко, я хотел бы получить это ...
tribble(
~id, ~A0000_count, ~A0000_value, ~A0001_count, ~A0001_value,
1, 0, 0, 5, 200,
2, 1, 5, 2, 50,
3, 20, 3000, 3, 30,
)
... и хотел бы иметь возможность сделать это без ручного переименования каждой переменной (и удаления переменных "_code #") по отдельности, поскольку у меня есть несколько сотен пронумерованных наборов переменных.
Действительно, я понятия не имею, с чего начать, за исключением простого переименования каждой переменной. Но в реальном наборе данных у меня есть несколько сотен наборов переменных для переименования таким образом, и я хочу минимизировать ошибки кодирования / орфографии. В основном, я понятия не имею, как:
а) переименуйте одну переменную, используя значение другой переменной.
б) перебрать несколько наборов переменных, как описано выше.
(Также: это не должен быть тибль, я просто делаю это, потому что это кажется мне более ясным визуально).
Спасибо за вашу помощь!