У меня есть продольный набор данных, в котором люди поворачиваются на 40 лет в разные годы, и мне нужно провести анализ (сопоставление оценки склонности) с 40-летними. Я хочу создать переменную дохода, которая использовала бы Income 1992
для людей, которым исполнилось сорок в 1998 году, использует для людей, которым исполнилось сорок в 2000 году и так далее.Создание переменных по условной команде в R
Мои данных выглядит следующим образом (и я хочу Incomenew выглядеть следующим образом):
ID | SourceYear| Income1992| Income1994 | Incomenew |
|---------------|------------|------------| |
| 1 | 1998 | 10000 | 12000 | 10000 |
| 2 | 2000 | 20000 | 15000 | 15000 |
| 3 | 1998 | 17000 | 16000 | 17000 |
| 4 | 2000 | 18000 | 20000 | 20000 |
Я заинтересован в их доходе 6 лет прежде чем они превратятся 40. Я уже настраивал все переменный доход для покупательной способности определенной year.I попытался это:
Incomenew<-NA
Incomenew[SourceYear=="1998"]<-Income1992[SourceYear=="1998"]
Incomenew[SourceYear=="2000"]<-Income1994[SourceYear=="2000"]
я все NAs
Я также попытался это:
`Incomenew<-if (SourceYear=="1998")] {Income1992}
else if (SourceYear==2000)
{Income1994}`
Я получаю следующую ошибку
Ошибка в случае (SourceYear == "1998") {: аргумент длины нулевой
Было бы большим подспорьем, если кто-то может помочь с этим я был бы очень признателен.
Необходимо показать воспроизводимый пример. Кроме того, 'Incomenew' имеет длину 1, а SourceYear может иметь разную длину. Попробуйте 'Incomenew <- rep (NA, length (SourceYear))' – akrun
Если 'SourceYear' не будет сохранен как объект, полезный для подмножества вещей (я не могу сказать без данных), скорее всего, он должен иметь префикс набора данных:' Доход1992 [Income1992 $ SourceYear == 1998,] '. Обратите внимание, что вам также нужно поместить запятую после того, как укажете, что вы подмножество лет, и хотите, чтобы все столбцы, и выяснить, являются ли ваши годы строками ('' 1998 ") или номерами (' 2000'). – alistaire
@akrun Большое спасибо за ваш ответ, пытаясь создать воспроизводимый пример, я обнаружил, что эта команда работает; но по моим первоначальным данным это было не поначалу. Тогда я понял, что это потому, что у меня есть NA в SourceYear. Когда я их пропустил, он сработал. Спасибо! –