我有一个非常大的数据框df
;它有1,870,355行和10列,其中一列是job.titles
。我还有一个包含60,315个元素(jobs
)的职位的字符向量。我想匹配数据框中的行,这些行的作业标题也在字符向量jobs
中。
对于jobs
的每个元素,我想知道具有相应职位的df
行。
我尝试的方法是lapply
和grep
:
lapply(jobs, function(x) grep(pattern = x, x = df$job.titles, ignore.case = T)
不幸的是,我收到以下错误:
Error: cannot allocate vector of size 7.1 Mb
我认为"矢量"这里提到的是list
正在创建的,其长度为60,315个元素。而且,这些元素中的每一个都有不同的长度,有些可能有数十万个元素。
我很清楚,例子必须是可重复的,以便读者轻松提供帮助;但是,我无法使这种可重复性。使用的代码实际上有效,但受到内存问题的限制。
在这种情况下,我该怎么办?