r - R:将等级 1 分配给预定义的最大值
问题描述
我有这样的数据集:
Value
5
4
2
1
我希望最大值具有最小等级,而最小值具有最高等级。在这个数据集中,Value=1 将重新编码为 5,而 Value=5 将重新编码为 1。但是,由于我的数据集中缺少 Value=3,通过使用排名函数 rank(-Value),我只能设法得到这个
Value Rank
5 1
4 2
2 3
1 4
R中有什么方法可以得到这样的东西吗?
Value Rank
5 1
4 2
2 4
1 5
解决方案
您可以通过查找向量的最大值和最小值,然后在最大值和最小值之间的完整数字集中搜索索引来做到这一点。
v <- c(5,4,2)
x <- min(v)
y <- max(v)
x:y
match(v,x:y)
[1] 4 3 1
使用因子的水平作为 J.Win。只要您的向量中有 1,建议就会起作用,否则,最高值的排名不会为 1。抱歉,我没有足够的声誉将其添加为评论。
推荐阅读
- cmd - 为什么此命令在终端中有效但在 CMD 中无效?
- python - 在 Python Pandas 的多列中只保留唯一的重复行
- python - Python Web Scraping - 不能抓取这个网站吗?
- ibm-cloud - 如何使用公证客户端访问 IBM Cloud 公证服务器
- javascript - 复选框输入返回空字符串而不是 true/false,使用 React hook dom 和 material-ui FormControlLabel
- r - 如何根据另一个变量的平均值对变量进行排序
- reactjs - 如何通过 getElementById 获取内容
- javascript - 使用 Rest Api 实现 React 分页
- android - 使用 Kotlin 在 Google Play 游戏服务中显示自定义排行榜 UI
- webpack - 从 ES6 导入的文件创建 Electron nativeImage?