0

我在 R 中有一个如下所示的数据框:

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

我喜欢根据 cat 列中的因子是 TRUE 还是 false 来修改“vals”列中的值。假设当同一行的类别为 TRUE 时,我想将 vals 列中的值乘以一个因子(例如 9)。

结果,我想拥有原始数据框的副本,但要使用修改后的值。或者如果未修改 (FALSE) 和 cat 为 TRUE 则修改后的另一列包含原始值的数据框。

希望有人可以帮我解决这个问题。

最好的问候 Sab。

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 回答