如何在数据帧列上进行标量乘法

Ern*_*nie 1 r dataframe

我确定这个人就坐在我面前,但我看不到它.我有一个数据框,"a",这样:

>a
         Chars    Numbers
This      A        15
That      B        22
Other     C        18
Run Code Online (Sandbox Code Playgroud)

我只想将Numbers列乘以标量,比如b < - 10,并保持数据框的其他部分不变.(我会在结果的Numbers列中得到150,220,180,但是相同的行/列标题和Chars列.)

什么不起作用是*b,尝试使用apply或$ Numbers*b.

Bro*_*ieG 5

以下是一些选项:

  • a$Numbers <- a$Numbers * b
  • transform(a, Numbers=Numbers * b)
  • within(a, Numbers <- Numbers * 10

在所有情况下,您都需要修改数据框.第一种方法是最直接的,但另外两种做类似的事情.对于第二个和第三个,您需要保存结果,以便在其他地方重复使用(例如a <- transform(a, ...)).