【发布时间】:2018-05-01 20:07:23
【问题描述】:
我的矩阵由数字组成:
set.seed(2016)
A <- matrix(rnorm(4,250,50), nrow = 2, ncol = 2, byrow = TRUE)
我想将它们离散化为 3 个类:lmh <- c("low", "moderate", "high")
low: <30
medium: 30 - 300
high >300
如果不将矩阵转换为data.frame 并且不使用循环,这是否可行?
这似乎是一项非常容易的任务,但我找不到任何东西。
【问题讨论】:
-
@9Jan 我两个都需要
-
见
?cut。cut(A, breaks = c(-Inf, 30, 300, Inf), labels = c("low", "moderate", "high"))。将结果分配给A[] <- as.character(cut(...))以保留维度并生成character矩阵。如果您不想覆盖A,请交替使用result = matrix(as.character(cut(...), nrow = nrow(A))。 -
输出应该是一个矩阵