:ここ
ifelse(test_expression,x,y)
は、test_expressionは論理ベクトル(または強要できるオブジェクトである必要がありますあなたはあなたがしなければならないやりたいです論理的に)。戻り値は、test_expressionと同じ長さのベクトルです。
これがベクトルtest_expressionの対応する値がFALSE.Youがifelse
がに割り当てられるべきではなく全体、ここでifelse
内部に値を代入しようとしないべきである場合test_expressionの対応する値がTRUEまたはYからのものである場合、Xから要素を有し返さ新しいオブジェクト。
goals$winner <- ifelse(goals$x1 > goals$x2, "h", ifelse(goals$x1 < goals$x2, "d", "a"))
Rコンソールで?ifelse
を検索すると、より理解しやすくなります。
あなたはサブセットでifelse
文を避けることができます。
df <- data.frame(x1 = c(1,4,0,2,1,1,1,0),x2=c(1,0,0,1,1,1,1,0))
df$winner <- NULL
df[df$x1 > df$x2,"winner"] <- "h"
df[df$x1 < df$x2,"winner"] <- "d"
df[df$x1 == df$x2,"winner"] <- "a"
回答:
df
x1 x2 winner
1 1 1 a
2 4 0 h
3 0 0 a
4 2 1 h
5 1 1 a
6 1 1 a
7 1 1 a
8 0 0 a
>
'ゴール$勝者< - ifelse(目標$ X1>目標$ X2、 "H"、ifelse(目標を$ X1 < ゴール$ X2、 "d"、 "a")) ' –
ありがとうございました。カビールの説明と一緒に私は多くを学ぶことができました! – JohnnyS