如何将列的特定值与R中的特定值相乘

如何将列的特定值与R中的特定值相乘,r,dataframe,multiple-columns,R,Dataframe,Multiple Columns,所以我有一个有两列的数据框。在第一列(年份),我有多年的数据。在第二列(工资基数)中,我有关于基本工资的数据 我想将属于2010年的数据框的所有行乘以1.2的值,然后用这些新值永久地更改数据框。到目前为止,我试过: dt$wage_base <- dt$wage_base * 1.2 dt$wage\u base我们可以创建一个逻辑条件 i1 <- dt$year == 2010 dt$wage_base[i1] <- dt$wage_base[i1] * 1.2 或使用

所以我有一个有两列的数据框。在第一列(年份),我有多年的数据。在第二列(工资基数)中,我有关于基本工资的数据

我想将属于2010年的数据框的所有行乘以1.2的值,然后用这些新值永久地更改数据框。到目前为止,我试过:

dt$wage_base <- dt$wage_base * 1.2

dt$wage\u base我们可以创建一个逻辑条件

i1 <- dt$year == 2010
dt$wage_base[i1] <- dt$wage_base[i1] * 1.2

或使用
dplyr

library(dplyr)
dt %>%
   mutate(wage_base = case_when(year == 2010 ~ wage_base * 1.2,
      TRUE ~ as.numeric(wage_base)))

我们可以创建一个逻辑条件

i1 <- dt$year == 2010
dt$wage_base[i1] <- dt$wage_base[i1] * 1.2

或使用
dplyr

library(dplyr)
dt %>%
   mutate(wage_base = case_when(year == 2010 ~ wage_base * 1.2,
      TRUE ~ as.numeric(wage_base)))
你也可以这样做:

dt$wage_base <- dt$wage_base * 1.2^(dt$year == 2010)
dt$wage\u base您还可以:

dt$wage_base <- dt$wage_base * 1.2^(dt$year == 2010)

dt$wage\u base谢谢您的帮助!谢谢你的帮助!谢谢你的帮助!谢谢你的帮助!