如何将数据框列转换为字符串?

How do you convert a data frame column to a string?

我想做的是获取数据框的一列并将其转换为分隔字符串,用作 graphViz 函数输入的一部分。

我有以下代码:

library(DiagrammeR) 


vector <- ('A->1', 
       'B->2', 
       'B->3', 
       'B->4', 
       'C->A', 
       '1->D', 
       'E->A', 
       '2->4', 
       '1->5', 
       '1->F', 
       'E->6', 
       '4->6', 
       '6->7', 
       '6->7', 
       '3->8'
)


df = data.frame(vector)

strmap <- noquote(paste(df$vector,sep = " "))

noquote(
  paste(
    "digraph boxes_and_circles {", 
    paste(strmap)
    , "}"
  )
)

输出为:

 [1] digraph boxes_and_circles { A->1 } digraph boxes_and_circles { B->2 } digraph boxes_and_circles { B->3 } digraph boxes_and_circles { B->4 }
 [5] digraph boxes_and_circles { C->A } digraph boxes_and_circles { 1->D } digraph boxes_and_circles { E->A } digraph boxes_and_circles { 2->4 }
 [9] digraph boxes_and_circles { 1->5 } digraph boxes_and_circles { 1->F } digraph boxes_and_circles { E->6 } digraph boxes_and_circles { 4->6 }
[13] digraph boxes_and_circles { 6->7 } digraph boxes_and_circles { 6->7 } digraph boxes_and_circles { 3->8 }

所需的输出是这样的字符串:

digraph boxes_and_circles { A->1 B->2 B->3 B->4 C->A 1->D E->A 2->4 1->5 1->F E->6 4->6 6->7 6->7 3->8 }

这个字符串是 grviz() 函数的输入,如下所示:

grViz(
  noquote(
      paste(
      "digraph boxes_and_circles {", 
      "A->1 B->2 B->3 B->4 C->A 1->D E->A 2->4 1->5 1->F E->6 4->6 6->7 6->7 3->8"
       , "}"
           )
        )
)

提前致谢。

paste0("digraph boxes_and_circles {", paste0(vector, collapse = " "), "}")