我有下面的資料框,我想Sold_Pr通過將comma符號替換為數字來將列變為數字.
subs<-structure(list(Sold_Pr = c("6,500.00", "173,000.00", "60,000.00"
), Area = structure(c(1L, 1L, 1L), .Label = c("411", "415", "981",
"8001", "8002", "8003", "8004", "8005", "8006", "8007", "8008",
"8009", "8010", "8011", "8012", "8013", "8014", "8015", "8016",
"8017", "8018", "8019", "8020", "8021", "8022", "8023", "8024",
"8025", "8026", "8027", "8028", "8029", "8030", "8031", "8034",
"8035", "8037", "8038", "8039", "8040", "8041", "8042", "8043",
"8044", "8045", "8046", "8047", "8048", "8049", "8050", "8051",
"8052", "8053", "8055", "8056", "8057", "8058", "8059", "8060",
"8061", "8062", "8063", "8064", "8065", "8066", "8067", "8068",
"8069", "8070", "8071", "8072", "8073", "8074", "8075", "8076",
"8077"), class = "factor"), Closed_Date = structure(c(18668,
18933, 18716), class = "Date")), row.names = c(NA, -3L), class = c("tbl_df",
"tbl", "data.frame"))
我嘗試了 3 種方法,但沒有一種方法有效。
as.numeric(subs(",", ".", subs$Sold_Pr, fixed = TRUE))
subs$Sold_Pr <- as.numeric(subs$Sold_Pr)
subs$Sold_Pr<-as.numeric(gsub(",", "", subs$Sold_Pr))
uj5u.com熱心網友回復:
一種選擇是readr::parse_number:
library(readr)
parse_number(subs$Sold_Pr, locale = locale(decimal_mark = ".", grouping_mark = ","))
#> [1] 6500 173000 60000
uj5u.com熱心網友回復:
另外一個選擇:
library(dplyr)
subs %>%
mutate(Sold_Pr = as.numeric(sub(",", "", Sold_Pr)))
Sold_Pr
1 6500
2 173000
3 60000
資料:
subs <- data.frame(
Sold_Pr = c("6,500.00", "173,000.00", "60,000.00")
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/388489.html
標籤:r
