0

因子水準がまったく異なる他の 2 つの因子列に関連する因子列を作成しようとしています。これがサンプルデータです。

set.seed(1234)
a<-sample(LETTERS[1:10],50,replace=TRUE)
b<-sample(letters[11:20],50,replace=TRUE)
df<-data.frame(a,b)
df$a<-as.factor(df$a)
df$b<-as.factor(df$b)

私が作成したいルールは、列 a の値に基づいて因子水準値に基づく新しい列 c を作成します。列 a のいずれかの行が ="F" の場合、列 c のその行は、列 b のエントリが何であれ等しくなります。私が試しているコード:

dfn<-dim(df)[1]
for (i in 1:dfn){
df$c[i]<-ifelse(df$a[i]=="F",df$b[i],df$a[i])
}
df

実際のエントリではなく、列 b の因子レベルの番号付きインデックスのみを吐き出します。私は何を間違えましたか?

4

3 に答える 3