我目前正在尋找一種方法來簡化在資料框中的列中搜索值向量并將這些值中的每一個替換為另一個值(也包含在單獨的向量中)的方法。我可以為此運行一個 for 回圈,但它在 apply 系列中必須是可能的,我只是還沒有看到它。對使用 apply 系列非常陌生,可以使用幫助。
到目前為止,我已經能夠用新向量中的新第一個值替換我向量中第一個值的所有實體,它只是沒有迭代超過第一級。我希望這是有道理的。這是我的代碼:
#standardize tank location
old_tank_list <- c("7.C.4","7.C.5","7.C.6","7.C.7","7.C.8","7.C.9","7.C.10","7.C.11")
new_tank_list <- c("7.B.3-4","7.C.3-4","7.C.1-2","7.C.5-6","7.C.7-8","7.C.9-10","7.E.9-10","7.C.11-12")
sapply(df_growth$Tank,function(y) gsub(old_tank_list,std_tank_list,y))
Tank 是我試圖替換其中所有這些值的列的名稱。我還沒有分配回來,因為我想先測驗一下功能。謝謝你的盡心幫助。
希望這張圖片會有所幫助。左邊的照片是應用我的函式之前的列。右邊的列在后面。基本上,我只想批量更改文本值。
之前和之后
uj5u.com熱心網友回復:
library(dplyr)
df %>%
mutate(Tank = recode(Tank, !!!setNames(new_tank_list, old_tank_list)))
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/397027.html
