R語言中order排序出現2大於10的情況?
阿新 • • 發佈:2021-12-30
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