r - R如何从尺寸数据生成尺寸类
问题描述
我正在尝试为我收集的珊瑚大小数据生成一个大小类向量。我想要做的是创建一个代表每个单独测量的尺寸等级的新列。
我希望尺寸等级基于每 10 个测量单位。例如,如果珊瑚的大小为 1-10,我希望它是大小等级 1,如果是 11-20,我希望它是大小等级 2,如果是 21-30,我希望它是大小等级 3,等等。
任何帮助完成这个看似简单的任务将不胜感激。谢谢!
数据库
structure(list(Coral = c(1, 2, 3, 4, 5, 6), Size = c(6, 10, 12,
40, 14, 22)), class = c("spec_tbl_df", "tbl_df", "tbl", "data.frame"
), row.names = c(NA, -6L), spec = structure(list(cols = list(
Coral = structure(list(), class = c("collector_double", "collector"
)), Size = structure(list(), class = c("collector_double",
"collector"))), default = structure(list(), class = c("collector_guess",
"collector")), skip = 1), class = "col_spec"))
期望的输出
structure(list(Coral = c(1, 2, 3, 4, 5, 6), Size = c(6, 10, 12,
40, 14, 22), `Size Class` = c(1, 1, 2, 4, 2, 3)), class = c("spec_tbl_df",
"tbl_df", "tbl", "data.frame"), row.names = c(NA, -6L), spec = structure(list(
cols = list(Coral = structure(list(), class = c("collector_double",
"collector")), Size = structure(list(), class = c("collector_double",
"collector")), `Size Class` = structure(list(), class = c("collector_double",
"collector"))), default = structure(list(), class = c("collector_guess",
"collector")), skip = 1), class = "col_spec"))
解决方案
你可以使用ceiling
:
df$Size_class <- ceiling(df$Size/10)
# Coral Size Size_class
# <dbl> <dbl> <int>
#1 1 6 1
#2 2 10 1
#3 3 12 2
#4 4 40 4
#5 5 14 2
#6 6 22 3
或者findInterval
df$Size_class <- findInterval(df$Size, seq(0, max(df$Size), 10), left.open = TRUE)
推荐阅读
- typo3-11.x - 在typo3扩展版本11.2中动态生成javascript
- node.js - 关于Spring Boot的加密方式的一个问题
- sql - 如何从 IEnumerable 获取数据
? - python - ASCII 编解码器不能编码字符,只能 concat str
- python - 如何在python中将列表列表与引用变量连接起来
- react-native - ref.current null 不是对象
- javascript - 如何禁用pdf查看器的屏幕截图
- c++ - 插入空向量后大小为零的向量
- javascript - 在从注册表单中检索名称之前触发 Firebase onAuthStateChanged()?
- javascript - 我该如何做第一个图像上传输入选项将启用上传其余图像上传输入选项将被 Jquery 禁用?