簡體   English   中英

根據其他分類值添加一列因子

[英]Adding a column of factors based on other categorical values

我有一個龐大的數據集,我想根據另一個因素為每個值添加一個因素。 目前,我的數據如下所示:

     Type      Value
 1   Wild      68.51
 2   Wild      91.94
 3   Captive   72.58
 4   Hybrid    85.38

但我想添加另一列因素 - {澳大利亞、哥斯達黎加、巴西} - 這是基於動物是野生的、圈養的還是雜交的。 數據框應如下所示:

     Type      Value    Status
 1   Wild      68.51    Costa Rica
 2   Wild      91.94    Costa Rica
 3   Captive   72.58    Australia
 4   Hybrid    85.38    Brazil 

像這樣使用dplyr::case_when

library(dplyr);
df %>%
    mutate(Status = case_when(
        Type == "Wild" ~ "Costa Rica",
        Type == "Captive" ~ "Australia",
        Type == "Hybrid" ~ "Brazil"));
#     Type Value     Status
#1    Wild 68.51 Costa Rica
#2    Wild 91.94 Costa Rica
#3 Captive 72.58  Australia
#4  Hybrid 85.38     Brazil

樣本數據

df <- read.table(text =
    "Type      Value
    1   Wild      68.51
    2   Wild      91.94
    3   Captive   72.58
    4   Hybrid    85.38", header = T)

一個base R選項是創建一個命名向量作為鍵/值對,並使用它來匹配列“類型”

df$Status <- setNames( c('Costa Rica', 'Australia', 'Brazil'), 
            c('Wild', 'Captive', 'Hybrid'))[as.character(df$Type)]
df
#      Type Value     Status
#1    Wild 68.51 Costa Rica
#2    Wild 91.94 Costa Rica
#3 Captive 72.58  Australia
#4  Hybrid 85.38     Brazil

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM