У меня есть список идентификаторов лиц и типы лекарств, которые они получили в определенные даты.Определите уникальные уровни категориальной переменной
Я хотел бы создать переменную count
, посредством которой я могу дать индикатор 1 первому препарату, который возникает, 2 - второму уникальному препарату и 3 - третьему уникальному препарату. Когда первый препарат появляется после второго и третьего, я хочу, чтобы он все еще имел индикатор 1. Аналогично для уникального лекарственного средства 2 он должен поддерживать значение 2 во всей истории лечения всего человека, а также для лекарственного средства 3.
+-------------------------------------+
| p_id date agent_~e count |
|-------------------------------------|
38. | 1001 13dec2001 thiazide 1|
39. | 1001 12apr2002 thiazide 1|
40. | 1001 15jul2002 thiazide 1|
41. | 1001 28aug2002 arb 2|
42. | 1001 26sep2002 CCB 3|
|-------------------------------------|
43. | 1001 26sep2002 arb 2|
44. | 1001 10oct2002 CCB 3|
45. | 1001 10oct2002 thiazide 1|
46. | 1001 10oct2002 arb 2|
47. | 1001 10dec2002 CCB 3|
|-------------------------------------|
48. | 1001 10dec2002 arb 2|
+-------------------------------------+
поскольку каждый человек имеет различный набор лекарств, я думаю, мне нужно довольно общее решение, в отличие от чего-то, как
gen count = 1 if agent_type == "thiazide".
Например, человек два ниже, и они имеют очень разные истории наркотиков к person один выше.
+-------------------------------+
| p_id date agent_t~e |
|-------------------------------|
207. | 2001 08jul1999 ace_inhib |
208. | 2001 02aug1999 ace_inhib |
209. | 2001 25aug1999 ace_inhib |
210. | 2001 22oct1999 ace_inhib |
211. | 2001 18nov1999 CCB |
|-------------------------------|
212. | 2001 18nov1999 ace_inhib |
213. | 2001 14dec1999 CCB |
214. | 2001 12jan2000 CCB |
215. | 2001 03feb2000 CCB |
216. | 2001 03feb2000 arb |
|-------------------------------|
217. | 2001 02mar2000 CCB |
+-------------------------------+
Большое вам спасибо за это и за указатели на вопрос. Я действительно прочитал FAQ, прежде чем я разместил вопрос, но не смог применить его успешно. Теперь, когда вы сказали, что это возможное решение, я вернусь к нему, чтобы лучше понять. Повторите решение, которое вы разместили выше, не возражаете ли вы объяснить, что это означает, когда «дата» находится в скобках в первой строке кода? – user2363642
См. 'Help by' для синтаксиса' by'. –
См. 'Help input' для синтаксиса' input'. –