我想根據因子中的第一個數字來排列因子向量的水平。
下面是例子:
FC < -因子(c("R。12. 22 P: 170.0", "R: 12.98 P: 189.1", "R: 2. 55 P: 286", "R: 12.22 P: 170.0", "R: 12. 98 P: 189.1", "R: 2.55 P: 286"))
##原級別oder
職能部門
[1] R: 12。 22 P: 170. 0 R: 12.98 P: 189.1 R: 2. 55 P: 286 R: 12. 22 P: 170.0 R: 12. 98 P: 189.1 R: 2. 55 P: 286
水平: R: 12. 22 P: 170.0 R: 12. 98 P: 189.1 R: 2. 55 P: 286。
我想讓水平按照例子中因子中的第一個數字排序,即按照2.55、12.22和12.98的順序排列。
結果將如下:
##有序的水平。
FC
等級: R: 2. 55 P: 286 R: 12. 22 P: 170.0 R: 12. 98 P: 189.1。
我的想法是提取因子向量中的第一個數字,然后對因子進行排序。
fistNum <- read. table(text = levels(FC))[[2]]
fistNum
[1] 12.22 12.98 2.55
然后我不知道如何繼續。謝謝你的幫助。
uj5u.com熱心網友回復:
像這樣的事情嗎?
levels(FC) < -FC[order(readr: :parse_number(as. character(levels(FC))))]
水平(FC)
#[1] "R: 2.55 P: 286" "R: 12.22 P: 170.0" "R: 12.98 P: 189.1"
readr::parse_number將從向量FC中提取第一個數字,我們為這些數字排序并分配等級
uj5u.com熱心網友回復:
在基礎上
FC < -因子(c("R。12. 22 P: 170.0", "R: 12.98 P: 189.1", "R: 2. 55 P: 286", "R: 12.22 P: 170.0", "R: 12. 98 P: 189.1", "R: 2.55 P: 286"))
# Coherce to character for gsub
cc <- paste(FC)
cc
#> [1] "R: 12.22 P: 170.0" "R: 12.98 P: 189.1" "R: 2.55 P: 286"
#> [4] "R: 12.22 P: 170.0" "R: 12.98 P: 189.1" "R: 2.55 P: 286"/span>
# 獲取每個字串中的第一個值<- gsub(pattern = ".*s([0-9. ]*)s. *",替換 = "1"。 x = cc)
fv
#> [1] "12.22" "12.98" "2.55" "12.22" "12.98" "2.55"
df <- data. frame(cbind(cc, fv))
df
#> cc fv
#> 1 R: 12.22 P: 170.0 12.22.
#> 2 R: 12.98 P: 189.1 12.98。
#> 3 R: 2.55 P: 286 2.55。
#> 4 R: 12.22 P: 170.0 12.22
#> 5 R: 12.98 P: 189.1 12.98。
#> 6 R: 2.55 P: 286 2.55
FC < -因素(FC。 水平= unique(df[order( as. numeric(df$fv))。 "cc"]))
俱樂部
#> [1] R: 12.22 P: 170.0 R: 12.98 P: 189.1 R: 2.55 P: 286 R: 12.22 P: 170.0
#> [5] R: 12.98 P: 189.1 R: 2.55 P: 286
#> Levels: R: 2.55 P: 286 R: 12.22 P: 170.0 R: 12.98 P: 189.1
uj5u.com熱心網友回復:
感謝@Ronak Shah。根據你的回答,我又添加了一個以R為基礎的答案。
levels(FC) < -水平(FC)[順序(閱讀。 table(text = levels(FC)。 填充= TRUE)[[/span>2]])]
uj5u.com熱心網友回復:
我們可以使用fct_relevel
library(forcats)
FC2 <- fct_relevel(FC, gtools:: mixedsort(levels(FC))
級別(FC2)
[1] "R: 2. 55 P: 286" "R: 12.22 P: 170.0" "R: 12.98 P: 189.1"
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/322204.html
標籤:
上一篇:R使用變數重命名Excel表
下一篇:對不存在多種模式進行負向展望檢查
