r - 当涉及因素时,用向量创建矩阵

标签 r matrix statistics

我几乎走到了互联网的尽头,但找不到我的问题的(确切)答案!

这可能非常简单,但我只想从数据框中选择一些变量,用它的一些向量形成一个矩阵。所以主要发生的事情打印在我下面的例子中:

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”。但我不想要那样!我应该做些什么?

最佳答案

这是记录在案的 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

关于r - 当涉及因素时,用向量创建矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5989463/

相关文章:

python - "Import Statistics"运行失败

缺失数据的 R reshape

python - 从networkX中的随机游走中获取节点列表

python - 为什么 R 的 read.csv() 可以从 GitLab URL 读取 CSV 而 pandas 的 read_csv() 不能?

C 矩阵乘法动态分配矩阵

python 矩阵 - 列表索引超出范围

arrays - Matlab,使用if语句比较数组

python - 使用 Python 和 Rpy2 进行统计测试(Kolmogorov 和 T 测试)

r - 尝试使用 RSelenium chromedriver 时出现连接拒绝错误

r - 跟踪序列化对象的增量变化