搜尋感興趣的網誌

所有文章連結

2022年3月30日 星期三

R Packages forcats - fct_relevel | R包forcats - fct_relevel

 


fct_relevel針對已因子的數據進行手動重新排序,排序可使用的函數也不少,就讓我們舉個例子操作排序的變化


基本語法

fct_relevel(dataset$var)


可用參數

after = 0 >> 將排序的因子放置的位置


建立數據框並設定為因子,初始轉換時可以設定級別levels,若沒有則依照字母進行排序

# 建立數據框
factor_df <- tibble(
    animal = c("dog", "cat", "rat", "fish", "lion")
    )

# 轉換為因子
factor_df <- factor(factor_df$animal, levels = c("dog", "cat", "rat", "fish", "lion"))

# 輸出結果
r$> factor_df [1] dog cat rat fish lion Levels: dog cat rat fish lion


進行基本排序 >> 依照字母排序

# 基本排序
fct_relevel(factor_df_v2)

# 輸出結果
r$> fct_relevel(factor_df_v2) [1] dog cat rat fish lion Levels: cat dog fish lion rat


進行排序 >> 將lion提前至第一順位,可編排其他的延伸下去

# lion設定為第一順位
fct_relevel(factor_df, "lion")

# 輸出結果
r$> fct_relevel(factor_df, "lion") [1] dog cat rat fish lion Levels: lion dog cat rat fish


# lion設定為第一順位,fish為第二
fct_relevel(factor_df, "rat", "fish")

# 輸出結果
r$> fct_relevel(factor_df, "rat", "fish") [1] dog cat rat fish lion Levels: rat fish dog cat lion


進行排序 >> 將cat擺放至第四位之後(也就是第五位)

# cat設定為第四位之後
fct_relevel(factor_df, "cat", after = 4)

# 輸出結果
r$> fct_relevel(factor_df, "cat", after = 4) [1] dog cat rat fish lion Levels: dog rat fish lion cat


進行其他參數排序 >> Inf設定為最後

# dog設定為最後
fct_relevel(factor_df, "dog", after = Inf)

# 輸出結果
r$> fct_relevel(factor_df, "dog", after = Inf) [1] dog cat rat fish lion Levels: cat rat fish lion dog


其他函數效果

# sort排序
fct_relevel(factor_df, sort)

# 輸出結果
r$> fct_relevel(factor_df, sort) [1] dog cat rat fish lion Levels: cat dog fish lion rat


# sample排序
fct_relevel(factor_df, sample)

# 輸出結果
r$> fct_relevel(factor_df, sample) [1] dog cat rat fish lion Levels: dog rat fish lion cat

沒有留言:

張貼留言

其他文章

看看精選文章

納希克房價分析 | Nashik Apartment Price Analyze – 語法解析(上)

  這次 Nashik 的房價分析有上傳至 Kaggle ,有興趣的朋友可以前往閱覽, RMarkdown PDF 報告存放在 Google 雲端,程式碼則是存放於 Github ,照慣例會分享好用的函式語法,雖說基本的 Packages 與語法可能很多人都會完整的閱覽,但是實際...