【发布时间】:2020-11-24 02:31:22
【问题描述】:
我有一个包含不同类型佣金的数据框。由于佣金没有特定的模式,因此很难提取数字;但是,作为起点,我想做以下事情:
- 查找包含仅一个数字的佣金
- 决定数字是 $abcde(例如:$1000 或 $12350) 还是 a.b%(例如:2.1%) 的形式
- 如果数字在 $abcde 中,则提取数字并将其添加到 Fixed 列,如果 a.b% 提取数字并保存在第二列
数据框如下图:
structure(list(commission = c("SELLING COMMISSION IS $9000",
"NO COMMISSION", "SELLING BROKER COMMISSION:$26729", "AND 3.1% 1ST $100000 AND 1.2% BALANCE AND GST",
"3.5% - 1ST $100000", "3.3% AND 1.2% PLUS GST", "3.2% - 1.0%",
"1.2% FULL PRICE", "1% SELLING PRICE"), First = c(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_), Second = c(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_), Fixed = c(NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_)), class = "data.frame", row.names = c(NA,
-9L))
所以预期的结果如下所示:
commission First cut-off Second Bonus Fixed
1 SELLING COMMISSION IS $9000 <NA> <NA> <NA> <NA> 9000
2 NO COMMISSION <NA> <NA> <NA> <NA> <NA>
3 SELLING BROKER COMMISSION:$26729 <NA> <NA> <NA> <NA> 26729
4 AND 3.1% 1ST $100000 AND 1.2% BALANCE AND GST <NA> <NA> <NA> <NA> <NA>
5 3.5% - 1ST $100000 <NA> <NA> <NA> <NA> <NA>
6 3.3% AND 1.2% PLUS GST <NA> <NA> <NA> <NA> <NA>
7 3.2% - 1.0% <NA> <NA> <NA> <NA> <NA>
8 1.2% FULL PRICE <NA> <NA> 1.2 <NA> <NA>
9 1% SELLING PRICE <NA> <NA> 1 <NA> <NA>
知道我该怎么做吗?
【问题讨论】: