【发布时间】:2025-12-10 19:15:01
【问题描述】:
我正在寻找一种快速有效的解决方案来扩展字典 (df1)
pattern cat1 cat2
1 I want [food] a b
2 I'm [amplifier] [pos]. a b
df1 <- data.frame(pattern=c("I want [food]", "I'm [amplifier] [pos]"),
cat1=c("a", "c"), cat2=c("b", "d"), stringsAsFactors=FALSE)
具有字符串模式,其中一些类别包含在方括号 [] 中。这些表示以字典格式 (df2) 出现在附加数据框中的类别。
pattern category
1 pizza food
2 hot dog food
3 chips food
4 very amplifier
5 very much amplifier
6 happy pos
7 optimistic pos
df2 <- structure(list(pattern = c("pizza", "hot dog", "chips", "very",
"very much", "happy", "optimistic"), category = c("food", "food",
"food", "amplifier", "amplifier", "pos", "pos")), .Names = c("pattern",
"category"), row.names = c(NA, -7L), class = "data.frame")
我想创建一个扩展的 data.frame,它采用 df 1 并用 df 2 扩展它,所以它看起来像这样:
pattern cat1 cat2
1 I want pizza a b
2 I want hotdog a b
3 I want chips a b
4 I'm very happy c d
5 I'm much more happy c d
6 I'm very optimistic c d
7 I'm much more optimistic c d
output <- structure(list(pattern = c("I want pizza", "I want hotdog", "I want chips",
"I'm very happy", "I'm much more happy", "I'm very optimistic",
"I'm much more optimistic"), cat1 = c("a", "a", "a", "c", "c",
"c", "c"), cat2 = c("b", "b", "b", "d", "d", "d", "d")), .Names = c("pattern",
"cat1", "cat2"), row.names = c(NA, -7L), class = "data.frame")
【问题讨论】:
标签: regex r dictionary data.table