-1

データセットがあると仮定します:

    X   Y
1   0 500
2 125 375
3 250 250
4 375 125
5 500 500
6 750 250
  ....
  ....

これは次の方法で生成できます。

df <- data.frame(X = c(0,125,250,375,500,750), Y=c(500,375,250,125,500,250))

と の数値関係に基づいてカテゴリ値を割り当てる必要がXありYます。例えば:

if X=0, then assign label A
if Y>X and Y/X=3 then assign label B
if X=Y then assign label C
if X>Y and X/Y=3 then assign label D

したがって、本質的に、X と Y の比率に基づいてラベルを割り当てています: 0、0.25、0.75、1。したがって、私が望んでいる最終結果は次のとおりです。

    X   Y   Category
1   0 500   A
2 125 375   B
3 250 250   C
4 375 125   D
5 500 500   C
6 750 250   D
  ....
  ....

どうすればこれを達成できますか? ありがとう

4

3 に答える 3

2

または標準data.frameの使用

df <- within(df, {
  label <- NA
  label[X == 0]           <- "A"
  label[Y > X & Y/X == 3] <- "B"
  label[Y == X]           <- "C"
  label[X > Y & X/Y == 3] <- "D"
})

df必要な列で更新する必要があります

于 2013-10-01T14:33:00.717 に答える