R语言中order排序出现2大于10的情况?

1、测试数据

复制代码
v1 <- c(7,1,10,9,2,8)
v2 <- letters[1:6]

test <- data.frame(v1,v2)
test
test2 <- test[order(test$v1),]
test2

v3 <- as.character(c(7,1,10,9,2,8))
v4 <- letters[1:6]
test3 <- data.frame(v3, v4) 
test4 <- test3[order(test3$v3),]
test4
test5 <- test3[order(as.numeric(test3$v3)),]
test5
复制代码
复制代码
> v1 <- c(7,1,10,9,2,8)
> v2 <- letters[1:6]
> test <- data.frame(v1,v2)
> test   ## 测试数据
  v1 v2
1  7  a
2  1  b
3 10  c
4  9  d
5  2  e
6  8  f
> test2 <- test[order(test$v1),]  ## 按照第一列排序, 没有问题
> test2
  v1 v2
2  1  b
5  2  e
1  7  a
6  8  f
4  9  d
3 10  c
> v3 <- as.character(c(7,1,10,9,2,8))   ## v3为字符型
> v4 <- letters[1:6]
> test3 <- data.frame(v3, v4)  ## 测试数据
> test4 <- test3[order(test3$v3),]   
> test4        ## 因为v3为字符型,出现10 小于2的情况
  v3 v4
2  1  b
3 10  c
5  2  e
1  7  a
6  8  f
4  9  d
> test5 <- test3[order(as.numeric(test3$v3)),]  ## 排序前把字符型转换为数值型,没有问题
> test5
  v3 v4
2  1  b
5  2  e
1  7  a
6  8  f
4  9  d
3 10  c
复制代码

 

posted @   小鲨鱼2018  阅读(196)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2020-12-30 centos7 中 安装gcc编译器
2020-12-30 vmware虚拟机安装mint-20全过程
2020-12-30 vmware虚拟机安装deepin20全过程
2020-12-30 vmware虚拟机安装openSUSE-Leap-15.2全过程
2020-12-30 vmware虚拟机安装debian 10 全过程
点击右上角即可分享
微信分享提示