【发布时间】:2020-11-20 19:34:39
【问题描述】:
我有一个数据集如下图:
structure(list(Commission20 = c("3.3% AND 1.2%", "3.2% 1S $100000 1.1% BALANCE",
"3.2% AND 1.0% AND 1.1% AND $1000 SELLING BONUS", "3.3% AND 1.2%",
"3.3% AND 1.2%", "3.0% AND 1.0% BALANCE", "3.2% 1S $100000 1.1% BALANCE",
"3.2% AND 1.2%", "3.2% AND 1.2%", "3.2% 1ST 1OOK AND 1.1% BALANCE",
"3.2% AND 1.1%", "3.0% 1ST $100000", "3.0% 1ST $100000", "3.2% 1ST $100000",
"3.0% 1ST $100000", "3.0% 1ST $100000", "3.0% 1ST $100000", "3.0% 1ST $100000",
"3.2% 1ST $100000 AND $5000"), First = c(NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_), `cut-off` = c(NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_), Second = c(NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_), Bonus = c(NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_), Fixed = c(NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_)), row.names = c(NA, -19L), class = c("tbl_df",
"tbl", "data.frame"))
可以看出,有些数据是3.0% 1ST $100000的形式(我现在只对这个形式感兴趣)。显然,这个数字只是 3000 美元,所以我想计算 3000 并将其替换为 fixed 列中的 NA 值。因此,我不仅应该提取 3% 和 100000 美元,而且还必须将它们相乘并计算 3000 并将其替换到正确的列中。那么预期的结果是这样的:
Commission20 First `cut-off` Second Bonus Fixed
<chr> <chr> <chr> <chr> <chr> <chr>
1 3.3% AND 1.2% NA NA NA NA NA
2 3.2% 1S $100000 1.1% BALANCE NA NA NA NA NA
3 3.2% AND 1.0% AND 1.1% AND $1000 SELLING BONUS NA NA NA NA NA
4 3.3% AND 1.2% NA NA NA NA NA
5 3.3% AND 1.2% NA NA NA NA NA
6 3.0% AND 1.0% BALANCE NA NA NA NA NA
7 3.2% 1S $100000 1.1% BALANCE NA NA NA NA NA
8 3.2% AND 1.2% NA NA NA NA NA
9 3.2% AND 1.2% NA NA NA NA NA
10 3.2% 1ST 1OOK AND 1.1% BALANCE NA NA NA NA NA
11 3.2% AND 1.1% NA NA NA NA NA
12 3.0% 1ST $100000 NA NA NA NA 3000
13 3.0% 1ST $100000 NA NA NA NA 3000
14 3.2% 1ST $100000 NA NA NA NA 3200
15 3.0% 1ST $100000 NA NA NA NA 3000
16 3.0% 1ST $100000 NA NA NA NA 3000
17 3.0% 1ST $100000 NA NA NA NA 3000
18 3.0% 1ST $100000 NA NA NA NA 3000
19 3.2% 1ST $100000 AND $5000 NA NA NA NA NA
我该怎么做?
【问题讨论】: