我有一個帶有由產品名稱字串組成的變數的資料框。前任。:
| Names | Price ...|
|-----------------------------|----------|
| milk | ... |
| pizza with tomato | ... |
| tuna with olive and beans | ... |
| etc... | ... |
我想創建一個其他變數,該變數將存盤在向量中的值作為值名稱,這些名稱與變數中的名稱相匹配 Names
基本上,如果我有一個向量:
x <- c("milk", "pizza", "tuna")
代碼應該查看變數Names,如果它在 vector 中找到匹配項,x那么它會獲取該值并將其存盤在一個名為的新變數中tag,該變數應具有值milk, pizza, tuna。
如果滿足條件,是否可以創建一個變數,其值取自另一個變數?
uj5u.com熱心網友回復:
如果我理解正確,您希望在資料框中的新列中有一個標簽(如關鍵字)。如果是這樣,那么使用str_extract.
library(stringr)
search <- c("milk", "pizza", "tuna")
df$tag <- stringr::str_extract(df$Names, paste(search, collapse="|"))
輸出
Names price tag
1 milk 3.99 milk
2 pizza with tomato 5.99 pizza
3 tuna with olives and beans 9.99 tuna
4 crab 4.99 <NA>
資料
df <-
structure(list(
Names = c("milk", "pizza with tomato", "tuna with olives and beans",
"crab"),
price = c(3.99, 5.99, 9.99, 4.99),
tag = c("milk", "pizza",
"tuna", NA)
),
row.names = c(NA,-4L),
class = "data.frame")
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/369988.html
上一篇:在同一行寫入資料
