[英]Programming in R: Change column data type from character (with $) to numeric
您可以使用gsub
替換美元符號。
library(tidyverse)
set.seed(1)
rental_df <- tibble(
location = rep(c("A", "B", "C", "D", "E"), 200),
price = paste0("$", round(runif(1000, min = 2000, max = 4000)))
)
head(rental_df, 5)
#> # A tibble: 5 x 2
#> location price
#> <chr> <chr>
#> 1 A $2531
#> 2 B $2744
#> 3 C $3146
#> 4 D $3816
#> 5 E $2403
rental_df %>%
mutate(price = as.numeric(gsub("[$]", "", price))) %>%
head(. , 5)
#> # A tibble: 5 x 2
#> location price
#> <chr> <dbl>
#> 1 A 2531
#> 2 B 2744
#> 3 C 3146
#> 4 D 3816
#> 5 E 2403
sub
也可以工作,因為應該只有一個美元符號,你可能只是缺少方括號。
rental_df %>%
mutate(price = as.numeric(sub("[$]", "", price))) %>%
head(. , 5)
#> # A tibble: 5 x 2
#> location price
#> <chr> <dbl>
#> 1 A 2531
#> 2 B 2744
#> 3 C 3146
#> 4 D 3816
#> 5 E 2403
我確定您已經檢查過,但順便確保sub
在修改location
時執行您期望的操作。 sub
替換第一個實例,而gsub
替換所有實例。
由reprex package (v2.0.1) 於 2021 年 12 月 3 日創建
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.