Добавление случайной ошибки к дискретной переменной в R - PullRequest
1 голос
/ 27 мая 2011

Мне нужно применить эконометрическую методологию, и я должен рассмотреть непрерывную переменную среди моих регрессоров. Проблема в том, что у меня просто есть дискретные переменные.

Может ли кто-нибудь сказать мне, как я могу добавить небольшую случайную ошибку (остаток) со средним значением 0 к дискретной переменной (один столбец в моей базе данных) и сохранить ее в моей базе данных? Я все еще начинающий R.

Пример: у меня есть

mA <- data.frame(Asexo=c(1, 0, 0, 1, 0))

и я хочу добавить небольшую ошибку в mA$Asexo, чтобы она стала непрерывной переменной:

mA <- data.frame(Asexocontiuous=c(1.03, 0.34, 0.18, 0, 1.5))

1 Ответ

4 голосов
/ 27 мая 2011

Если вы хотите «дрожать» переменную 0/1, чтобы убедиться, что нет дубликатов (или использовать метод, который требует непрерывных переменных), самый простой подход -

mydat$sexcont <- rnorm(nrow(mydat),mean=mydat$sexbinary,sd=csd)

, гдеcsd - выбранное вами стандартное отклонение.Чуть более элегантно:

mydat <- transform(mydat,sexcont=rnorm(nrow(mydat),mean=sexbinary,sd=csd))

Если sexbinary является фактором, используйте as.numeric(sexbinary) (или as.numeric(sexbinary)-1, если вам нужно, чтобы это была переменная 0/1, а не 1/2)

Вы также можете увидеть ?jitter, хотя это чаще используется в контексте предотвращения дублирования точек в графике.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...