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