How can I extract only USD values from a column in R data table including salaries in crore?

huangapple go评论84阅读模式
英文:

How can I extract only USD values from a column in R data table including salaries in crore?

问题

  1. 我期望这段代码给我所需的输出,但实际上每个薪水数值现在都是NA
英文:

I have a table with data for the ongoing IPL 2023, with includes a list of the players' salaries. The salaries are either written in the forms, for example, "₹6.75 crore (US$850,000)", "₹50 lakh (US$63,000)", or ₹16 crore (US$2.0 million)". I want to only extract the USD value (if it's listed in millions, I want to have the full number, i.e 2.0 milllion should be 2,000,000).

  1. ipl_2023_salaries <- read_excel(file_path)
  2. usd_values <- str_extract_all(ipl_2023_salaries$Salary, "\\(US\\$([0-9.,]+)\\)")
  3. usd_values <- sapply(usd_values, function(x) ifelse(length(x) > 0, gsub("[^0-9.]", "", x), NA))
  4. ipl_2023_salaries$Salary <- as.numeric(usd_values)
  5. print(ipl_2023_salaries)

I expected this code to give me the output I desired, but instead every salary value is now NA.

答案1

得分: 1

  1. 使用 `$` 分割字符串,将第二部分传递给 `readr::parse_number()`,如果存在匹配的 "*million*",则乘以 *1e6*
  2. ``` r
  3. library(stringr)
  4. library(readr)
  5. salary <- c("₹6.75 crore (US$850,000)", "₹50 lakh (US$63,000)", "₹16 crore (US$2.0 million)")
  6. parse_number(str_split_i(salary, "\$", 2)) * ifelse(str_detect(salary, "\$.*million"), 1e6, 1)
  7. #> [1] 850000 63000 2000000

创建于 2023-05-28,使用 reprex v2.0.2

  1. <details>
  2. <summary>英文:</summary>
  3. Split strings at `$`, pass 2nd part to `readr::parse_number()` and if there&#39;s a match for *&quot;million&quot;*, multiply by *1e6*:
  4. ``` r
  5. library(stringr)
  6. library(readr)
  7. salary &lt;- c(&quot;₹6.75 crore (US$850,000)&quot;, &quot;₹50 lakh (US$63,000)&quot;, &quot;₹16 crore (US$2.0 million)&quot;)
  8. parse_number(str_split_i(salary, &quot;\$&quot;, 2)) * ifelse(str_detect(salary, &quot;\$.*million&quot;),1e6,1)
  9. #&gt; [1] 850000 63000 2000000

<sup>Created on 2023-05-28 with reprex v2.0.2</sup>

huangapple
  • 本文由 发表于 2023年5月28日 07:31:28
  • 转载请务必保留本文链接:https://go.coder-hub.com/76349420.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定