R 如何将离散值范围的数值向量转换为因子?
我试图将一个离散值的数值向量转换成R中的一个因子R 如何将离散值范围的数值向量转换为因子?,r,R,我试图将一个离散值的数值向量转换成R中的一个因子 x <- c(1,2,3,4,8,9,10,88,89,90) 我还尝试使用cut,如下所示: y <- factor(x, levels = c(1:2, 3:4, 8:10, 88:90)) bins <- c(1,3,5,8,11,88,90) y <- cut(x, breaks = bins, right = F, include.lowest = T) table(y) 有没有办法将一系列数值转换成R中
x <- c(1,2,3,4,8,9,10,88,89,90)
我还尝试使用cut,如下所示:
y <- factor(x, levels = c(1:2, 3:4, 8:10, 88:90))
bins <- c(1,3,5,8,11,88,90)
y <- cut(x, breaks = bins, right = F, include.lowest = T)
table(y)
有没有办法将一系列数值转换成R中的系数?删除未使用的级别:
# as per your code
bins <- c(1,3,5,8,11,88,90)
y <- cut(x, breaks = bins, right = FALSE, include.lowest = TRUE)
levels(y)
# [1] "[1,3)" "[3,5)" "[5,8)" "[8,11)" "[11,88)" "[88,90]"
# drop unused levels
y1 <- droplevels(y)
levels(y1)
#[1] "[1,3)" "[3,5)" "[8,11)" "[88,90]"
#根据您的代码
当
library(dplyr)
case_when(x %in% 1:2 ~ 1, x %in% 3:4 ~ 2, x %in% 8:10 ~ 3, x%in% 88:90 ~ 4)
删除未使用的级别:
表(droplevels(y))
因子(findInterval(x,c(3,8,88))
?或者可能级别
# as per your code
bins <- c(1,3,5,8,11,88,90)
y <- cut(x, breaks = bins, right = FALSE, include.lowest = TRUE)
levels(y)
# [1] "[1,3)" "[3,5)" "[5,8)" "[8,11)" "[11,88)" "[88,90]"
# drop unused levels
y1 <- droplevels(y)
levels(y1)
#[1] "[1,3)" "[3,5)" "[8,11)" "[88,90]"
library(dplyr)
case_when(x %in% 1:2 ~ 1, x %in% 3:4 ~ 2, x %in% 8:10 ~ 3, x%in% 88:90 ~ 4)