【问题标题】:How do you convert a data frame column to a string?如何将数据框列转换为字符串?
【发布时间】:2020-09-21 18:17:30
【问题描述】:

我要做的是获取数据框的一列并将其转换为分隔字符串以用作 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"
       , "}"
           )
        )
)

提前致谢。

【问题讨论】:

    标签: r string graphviz tostring


    【解决方案1】:
    paste0("digraph boxes_and_circles {", paste0(vector, collapse = " "), "}")
    

    【讨论】:

    • 好酷。但它是一个字符串吗?我的函数抛出一个错误“错误:'digraph'附近的第1行中的语法错误”grViz(noquote(paste0(“digraph boxes_and_circles {”,noquote(paste0(“digraph boxes_and_circles {”,paste0(vector,collapse =“”) , " }")) , "}" ) ) )
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-12
    • 2017-06-24
    • 1970-01-01
    相关资源
    最近更新 更多