[英]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.