Создание матрицы с векторами, когда есть факторы - PullRequest
2 голосов
/ 13 мая 2011

Я почти достиг конца интернета, но не смог найти (точного) ответа на свой вопрос!

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

treatment <- factor(rep(c(1, 2), c(43, 41)), levels = c(1, 2),
    labels = c("placebo", "treated"))

improved <- factor(rep(c(1, 2, 3, 1, 2, 3), c(29, 7, 7, 13, 7, 21)),
    levels = c(1, 2, 3),
    labels = c("none", "some", "marked"))

numberofdrugs<-rpois(84, 2)

X<-cbind(numberofdrugs, treatment, improved)

X #"why are the units numbers and not names

Проблема, которую я получил, состоит в том, что R конвертирует факторы в числа.Например, «мужчина» и «женщина» на «0» и «1».Но я не хочу этого!Что я должен сделать?

1 Ответ

8 голосов
/ 13 мая 2011

Это задокументированное поведение cbind.From ?cbind: "Любые классы, которые могут иметь входные данные, отбрасываются (в частности, факторы заменяются их внутренними кодами.)"

Вместо этого следует использовать data.frame:

X <- data.frame(numberofdrugs, treatment, improved)
head(X)

  numberofdrugs treatment improved
1             0   placebo     none
2             1   placebo     none
3             0   placebo     none
4             5   placebo     none
5             1   placebo     none
6             4   placebo     none
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...