0
我有一個腳本可以創建一個列,以便我知道哪個規則應該應用於數據框中的每一行。具有可變參數數量的R函數ifelse
EndoSubset$FU_Group<-ifelse(EndoSubset$IMorNoIM=="No_IM","Rule1",
ifelse(EndoSubset$IMorNoIM=="IM","Rule2",
ifelse(EndoSubset$IMorNoIM=="AnotherIM","Rule3",
"NoRules")))
我想使之成爲一個功能這一點,以便可以有任意數量的規則和列任意數量的條件,所以它可能是:
EndoSubset$FU_Group<-ifelse(EndoSubset$IMorNoIM=="No_IM","Rule1",
ifelse(EndoSubset$IMorNoIM=="IM","Rule2",
ifelse(EndoSubset$IMorNoIM=="AnotherIM","Rule3",
ifelse(EndoSubset$IMorNoIM=="SomeOtherIM","Rule4",
ifelse(EndoSubset$IMorNoIM=="LotsOfIM","Rule5",
"NoRules")))
我明白,我可以使用這個省略號但我不明白如何同時使用條件字符串(「No_IM」,IM,「AnotherIM」等)和規則字符串(「Rule1」,「Rule2」,「 Rule3「等)
創建一個查找data.frame並使用合併。 – Roland
@Roland。不確定這個問題的答案。我想創建它作爲重用的函數,因此希望函數具有可變數量的參數。我該怎麼做呢? –
也許使用'factor'。即'get_group < - function(x){factor(x $ IMorNoIM,levels = unique(x $ IMorNoIM),labels = c(paste0('rule',seq(length(unique(x $ IMorNoIM)))))) }' – Sotos