列的条件乘法

Conditional multiplication of column

我有两列。一个是销售额(sales_usd),另一个(sales_unit)表示销售额是百万(M)还是十亿(B): the data

我只是想以十亿为单位获取所有内容,因此如果单位列中有“M”,我想将 sales_usd 列中的各个单元格除以 1000。

到目前为止我有

data$sales_usd <- if(data$sales_unit="M")
{
  data$sales_usd / 1000
  }

但数据保持不变。

这应该有效

library(dplyr)

data |> 
  mutate(sales=ifelse(sales_unit=="M",sales_usd/1000,sales_usd))

base R中:

 df$sales_usd <- ifelse(df$sales_unit == "M", # condition
                        df$sales_usd/1000,    # what if condition is TRUE
                        df$sales_usd          # what if condition is FALSE
                        )