【发布时间】:2019-11-22 18:15:49
【问题描述】:
我有一个几十万行的数据集。以下是它们的外观示例。
X user_id screen_name name location
1 1 1.732895e+09 DROPPSScience DROPPS Consortium
2 2 1.172266e+18 Lamy40283167 Alex lamy precious Washington, USA
3 3 3.773702e+08 cdockjr Calvin Wilborn Alabama, USA
4 4 7.040063e+07 xmtl2 Felicio
5 5 3.929519e+08 DeleceWrites Delece Smith-Barrow Washington, DC
6 6 1.130459e+18 evabrooke_26 Eva
7 7 1.067302e+08 MitchellHortert Mitchell R. Hortert Pittsburgh,PA
我在https://github.com/jasonong/List-of-US-States/blob/master/states.csv找到了第二个数据集
我正在尝试使用 str_detect() 在 states.csv 文件中的“位置”列和任一列之间查找任何匹配项。然后我想创建一个新变量来存储每个观察的匹配模式。
到目前为止,我已经尝试过使用
data.set %>%
filter(str_detect(location, paste(states$State)
这会返回一些匹配项,但会忽略许多观察结果并给出警告
Warning message:
In stri_detect_regex(string, pattern, negate = negate, opts_regex = opts(pattern)) :
longer object length is not a multiple of shorter object length
states$State 是一个因子变量,每个州和 DC 有 51 个级别。 是什么导致了这个警告,只有很少的匹配项,但它在某种程度上有效?
最后,我将如何创建一个基于匹配发生时间的新变量,并将匹配模式放入新变量中?
【问题讨论】:
-
你尝试过使用 mutate() 吗?