gsub 创建新变量

gsub to create new variables

我想从 R 中的 1 个变量创建 2 个变量。

我有以下加油站字符变量:

车站

Valero 1810 N Foster Rd & IH-10 E

我想从这个变量创建 2:station_idaddress

station_id

瓦莱罗

地址

1810 N Foster Rd & IH-10 E

在我的数据集中,station 变量中的所有字符串都以单词开头(最多 3 个单词,例如:EZ Mart),所有地址都以数值开头。

过去几个小时我一直在尝试使用 gsub 来实现这个目标,但我做不到。

谢谢

Base R 解决方案:这适用于您提供的示例字符串。您需要测试这是否适用于您的其他案例。包含多个示例字符串会更好。

ss <- "Valero 1810 N Foster Rd & IH-10 E";
station_id <- trimws(gsub("(\w+\s+){1,3}(\d+.+)$", "\1", ss));
address <- gsub("(\w+\s+){1,3}(\d+.+)$", "\2", ss);
station_id;
#[1] "Valero"
address;
#[1] "1810 N Foster Rd & IH-10 E"