r - 如何加快 R 中元素列表的处理速度?

标签 r list performance

让我们看看下面的案例。

有一个应该处理的标签列表。 这是我使用的“for”循环,它适用于小列表。 但对于具有一百万个元素的列表来说,它太长了。 如何加快此类处理速度。

# 1. List of 'original' tags
list_tags_original <- c(",tag1, tag2,, tag3", "tag3, tag4,", "tag5")

# 2. List of 'adjusted' tags
list_tags_adjusted <- c()

# 3. Process each 'original' tags
for(i in 1:length(list_tags_original)) {

  # 3.1. List of selected tags
  list_tags_selected <- list_tags_original[i]

  # 3.2. Split on separate tags
  list_tags_selected <- trimws(unlist(str_split(list_tags_selected, ",")))

  # 3.3. Drop 'missing' tags
  list_tags_selected <- list_tags_selected[list_tags_selected != ""]

  # 3.4. Merge back into the string
  list_tags_selected <- paste0(list_tags_selected, collapse = ",")

  # 3.5. Add to list of 'adjusted' tags
  list_tags_adjusted <- c(list_tags_adjusted, list_tags_selected)

} # for

# 4. Result
list_tags_adjusted
#[1] "tag1,tag2,tag3" "tag3,tag4"      "tag5" 

最佳答案

也许使用 gsub 会更快?

gsub(",+", ",", gsub(" +|^,+|,+$", "", list_tags_original))
#[1] "tag1,tag2,tag3" "tag3,tag4"      "tag5"          

关于r - 如何加快 R 中元素列表的处理速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62001404/

相关文章:

r - 当变量的拼写方式略有不同时,如何对变量进行计数?

r - 在lm回归中使用偏移量-R

c# - 在 List<T> 中查找 IEnumerable<T> 时,GetGenericTypeDefinition 返回 false

java - Java 内存模型是否允许对许多原子/ volatile 变量的非同步访问进行重新排序?

r - 在信息框中以 Shiny 的方式显示摘要统计信息

python - 使用 python 以错误的顺序从目录中提取文件

python - 基于Python中的键聚合字典列表上的值

共享主机上的 PHP 性能

performance - 如何将jboss中 "webcontainer worker-threads"的数字设置为7?

r - 强制 Rstudio 在 linux 上使用特定版本的 R