0

Rに次のようなデータフレームがあります。

 ...    vals         cat  ...
        1.2          TRUE
        1.6          FALSE
        5            TRUE

cat 列の要素が TRUE か FALSE かによって、「vals」列の値を変更したいと思います。同じ行のカテゴリがTRUEの場合、vals列の値に係数(たとえば9)を掛けたいとしましょう。

その結果、元のデータフレームのコピーが必要ですが、代わりに変更された値が必要です。または、変更されていない場合 (FALSE) の元の値と、cat が TRUE の場合に変更された値を含むもう 1 つの列を持つデータフレーム。

誰かが私にこれを手伝ってくれることを願っています。

宜しくお願いします。

4

1 に答える 1

0
x <- data.frame(vals=c(11.2,9.1,2.1),cat=c(TRUE,FALSE,TRUE))

x
  vals   cat
1 11.2  TRUE
2  9.1 FALSE
3  2.1  TRUE

y <- x

y[y$cat,] <- x[x$cat,]*9

y
   vals cat
1 100.8   9
2   9.1   0
3  18.9   9
于 2012-07-26T13:30:58.707 に答える