我只是在學習科學數據提取[R在data.table列從文本的數字,並用幾行從數據中提取號碼(使用data.table):如何有效R中
library(stringr)
library(data.table)
prods[, weights := str_extract(NombreProducto, "([0-9]+)[kgKG]+")]
prods[, weights := str_extract(weights, "[0-9]+")]
prods[, weights := as.numeric(weights)]
這是我想提取數字/文字「NombreProducto」字段的示例:
"Tostado 210g CU BIM 1182"
有沒有一種簡單的方法在一個簡潔的一行來做到這一點?我試過
prods[, weights := str_match(NombreProducto, "([0-9]+)[kgKG]+")[2]]
但它將「權重」列中的所有內容都設置爲data.table的第一個結果。順便說一句,這是來自Grupo Bimbo Kaggle比賽。
目前尚不清楚你真正想要什麼。 – akrun
我想在第一行代碼的第一塊。 – wordsforthewise
試試'prods [,權重:= as.numeric(str_extract(NombreProducto,「([0-9] +)(?=(kg | KG))」))]'' – akrun