我的矩阵由数字组成:
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
而不使用循环,这是否可行?
这似乎是一项非常简单的任务,但我找不到任何东西。
答案 0 :(得分:1)
library(dplyr)
case_when(A < 30 ~ 'low'
, A <= 300 ~ 'medium'
, T ~ 'high') %>%
`dim<-`(dim(A))
或
A %>%
cut(breaks = c(-Inf, 30, 300, Inf), labels = c("low", "med", "high")) %>%
`dim<-`(dim(A))