循环遍历列表并连接R中的字符串(语法)

时间:2018-06-04 14:26:37

标签: r string dataframe full-text-search concatenation

我试图创建一个从1到14的循环。此循环中的每个整数都将添加到新创建的数据帧名称的末尾。然后,它应该根据数字和文本的串联搜索现有数据框中的列。我已经搜索了几个小时但找不到解决方案。

我的意思是:

while (i <= 14) {
    "newDF" + i <- oldDf %>%
         filter(str_detect(ColumnName, "TEXT" + i)

}

新数据框应如下所示:

  

newDF1,newDF2 ... newDF14

它们应该基于连接字符串(text + i)创建:

  

的text1,text2..text14

我的第一个挑战是根据文本和 i 的串联创建一个新的数据框。我尝试过使用str_c命令和str_glue命令,但收到以下错误信息。

Error in str_c("newDF", i)) <- oldDF: 
  target of assignment expands to non-language object


Error in str_glue("newDF{i}") <- oldDF: 
  target of assignment expands to non-language object

1 个答案:

答案 0 :(得分:0)

上面的代码的主要问题在于,赋值运算符的左侧无法进行任何操作。

for (i in 1:14){
    assign(str_glue("newDF{i}"), oldDF %>%
         filter(str_detect(ColumnName, str_glue("TEXT{i}"))))
}

因此,从技术上讲,即使我觉得有更好的方法可以执行此操作,无论是使用嵌套列表还是使用散布和收集。我会说更多,但我没有足够的背景来解决问题。