首页 > 解决方案 > 将级别定义为 R 中的范围

问题描述

我有一个温度值向量

temp <- c(2.6, 5.3, 4.6,9.8,9.4,14.1,16.2,16.4,11.6,8.0,3.0,5.0)

我试图为这个向量创建一个因子,定义为 3 个级别:低于 5 (l),介于 5 和 15 (m) 之间,以及高于 15 (h)。帮助表示赞赏。

标签: r

解决方案


我建议使用cut()函数,然后您可以将结果存储在数据框中:

#Data
temp <- c(2.6, 5.3, 4.6,9.8,9.4,14.1,16.2,16.4,11.6,8.0,3.0,5.0)
#Cut
temp2 <- cut(temp,breaks = c(-Inf,5,15,Inf),labels = c('l','m','h'),include.lowest = T,right = F)
#Dataframe
df <- data.frame(temp,temp2)

输出:

   temp temp2
1   2.6     l
2   5.3     m
3   4.6     l
4   9.8     m
5   9.4     m
6  14.1     m
7  16.2     h
8  16.4     h
9  11.6     m
10  8.0     m
11  3.0     l
12  5.0     m

推荐阅读