在R語言中,ifelse語句是一種基于條件的向量化函數,用于根據邏輯條件在向量或數據框的每個元素上執行不同的操作。
ifelse語句的基本語法如下:
ifelse(condition, true_value, false_value)
其中,
如果condition為TRUE,則ifelse返回true_value;如果condition為FALSE,則返回false_value。ifelse語句可以同時對多個元素進行處理,因此非常適合在向量或數據框中進行條件判斷和轉換操作。
以下是一些示例:
# 示例1:根據性別向量生成一個新的性別標簽向量
gender <- c("M", "F", "F", "M", "M", "F")
gender_label <- ifelse(gender == "M", "Male", "Female")
# 結果: "Male" "Female" "Female" "Male" "Male" "Female"
# 示例2:根據分數向量生成一個新的及格標簽向量
scores <- c(80, 65, 90, 75, 50, 85)
pass_label <- ifelse(scores >= 60, "Pass", "Fail")
# 結果: "Pass" "Pass" "Pass" "Pass" "Fail" "Pass"
# 示例3:根據年齡向量生成一個新的年齡段標簽向量
ages <- c(18, 25, 40, 60, 30, 50)
age_label <- ifelse(ages < 30, "Young", ifelse(ages < 50, "Middle-aged", "Old"))
# 結果: "Young" "Young" "Middle-aged" "Old" "Middle-aged" "Old"
需要注意的是,ifelse語句在處理較大的數據集時可能會比較慢,因為它是一個逐元素的操作。如果需要處理大型數據框或矩陣,可以考慮使用其他更高效的向量化函數,例如邏輯索引、dplyr包中的mutate函數等。