我几乎到了互联网的尽头,但我无法找到问题的(确切)答案!
这可能很容易,但我只是想从数据框中选择一些变量,以形成一个带有一些向量的矩阵。所以主要是在下面的例子中打印的内容:
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”。但我不希望这样!我应该做些什么?
答案 0 :(得分:8)
这是cbind
的记录行为。来自?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