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
原文地址:https://www.cnblogs.com/liujiaxin2018/p/15750575.html