r - 将级别定义为 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)。帮助表示赞赏。
解决方案
我建议使用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
推荐阅读
- julia - 在 Julia 中从具有混合长度的数组/向量的文件中读取数据
- html - 无法为登录页面设置准确的 CSS
- netsuite - Processing \Animation in NetSuite
- php - Create array inside foreach-loop with children from another loop
- mysql - 是否有任何其他选项可以从表中获取总计数和同一查询中列的不同计数?
- django - Dealing with additional kwargs in Django models
- python - Discord py send message to channel
- dependency-injection - 如何在 .NET Core 2.2 的服务类构造函数中传递具体类型
- amazon-web-services - 如何使用对流层将 OriginAccessIdentity 添加到 AWS S3 存储桶策略
- python - AttributeError: 'Word2Vec' object has no attribute 'endswith'