0
データフレームの各行にどのルールを適用するかを知るために、列を作成するスクリプトがあります。ifelseの可変数の引数を持つR関数
私はそれができるように、任意の数の規則とカラムのための条件の数に制限はありませんように関数にこれをしたい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"、 "ルール3」など)
lookup data.frameを作成し、mergeを使用します。 – Roland
@Roland。それが質問に答えるかどうかわからない私はそれを再利用のための関数として作成したいので、関数のパラメータの数を変えたいと思っています。これはどうすればいいですか? –
はおそらく 'factor'を使用します。つまり、 'get_group < - function(x){factor(x $ IMorNoIM、levels = unique(x $ IMorNoIM)、labels = c(paste0( 'ルール'、seq(長さはユニーク(x $ IMorNoIM))))) } ' – Sotos