根据分类规则在R中离散矩阵

时间:2018-05-01 20:07:24

标签: r matrix

我的矩阵由数字组成:

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而不使用循环,这是否可行?

这似乎是一项非常简单的任务,但我找不到任何东西。

1 个答案:

答案 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))