【发布时间】:2021-01-09 20:40:33
【问题描述】:
我有一个名为 car 的数据框,我正在尝试替换名为 make 的列中的某些值,其中包含许多独特的汽车品牌。我正在尝试将包含我的名为car_list 的字符列表的任何值替换为值low_frequency。但是我只想要整个字符串替换,而不是我通过使用边界所做的部分替换。
“汽车”的“制造”列如下所示:
make
"LANDROVER"
"VOLKSWAGEN"
"VAUXHALL"
"MG-MOTOR UK"
"ROVER"
"BWM"
'car_list` 看起来像这样:
"MG-MOTOR UK"
"ROVER"
"ROBIN"
我将make 中包含在car_list 中的所有值替换为新值low_frequency。输出应如下所示:
make
"LANDROVER"
"VOLKSWAGEN"
"VAUXHALL"
"low_frequency"
"low_frequency"
"BWM"
我的尝试是使用 gsub 和 for 循环,因为我已经习惯了 python,但我知道这在 R 中是不好的做法,解决方案会崩溃:
for (string in car_list){
car['make'] <- gsub(paste('\\b', string, '\\b', sep = ''), 'low_frequency', car['make'])}
任何帮助将不胜感激。
【问题讨论】: