R 颜色因子中的NSE

R 颜色因子中的NSE,r,dplyr,plotly,nse,R,Dplyr,Plotly,Nse,我试图设计一个函数,其中有多个输入,关于哪些因素可以控制图表的颜色。我试图使用字符串来取消要使用的data.frame的列的分段,但它在plotly语句的color=参数中不起作用。非常感谢 错误!as.name(所需的_因子):参数类型无效 require(dplyr) 要求(详细地) 种子(42) dfPlotly不支持。相反,它使用公式指定列名。您有两个选择: 选项1:动态构造公式 fm <- as.formula( paste0("~factor(", desired_factor

我试图设计一个函数,其中有多个输入,关于哪些因素可以控制图表的颜色。我试图使用字符串来取消要使用的data.frame的列的分段,但它在plotly语句的
color=
参数中不起作用。非常感谢

错误!as.name(所需的_因子):参数类型无效

require(dplyr)
要求(详细地)
种子(42)
dfPlotly不支持。相反,它使用公式指定列名。您有两个选择:

选项1:动态构造公式

fm <- as.formula( paste0("~factor(", desired_factor ,")") )

plot_ly(df, 
        x = ~x, 
        y = ~y, 
        color = fm,             # <-- NOTE: no ~
        colors = "Blues", 
        type = "bar") %>% 
  layout(barmode = "stack")

这是很棒的东西。感谢您展示两个关于如何生成解决方案的示例。
fm <- as.formula( paste0("~factor(", desired_factor ,")") )

plot_ly(df, 
        x = ~x, 
        y = ~y, 
        color = fm,             # <-- NOTE: no ~
        colors = "Blues", 
        type = "bar") %>% 
  layout(barmode = "stack")
ee <- rlang::expr(
  plot_ly(df, 
          x = ~x, 
          y = ~y, 
          color = ~factor(!!as.name(desired_factor)), 
          colors = "Blues", 
          type = "bar") %>% 
    layout(barmode = "stack"))

eval(ee)