我有一个闪亮的应用程序,它有一个打印屏幕按钮,但在更新了 Shinyjs 包后,代码不再有效。
我从RShiny 打印当前页面获得了这个解决方案,它曾经可以工作,但不再有效。
这是代码:
library(shiny)
library(shinyjs)
library(V8)
jsCode <- 'shinyjs.winprint = function(){
window.print();
}'
ui <- shinyUI(fluidPage(
useShinyjs(),
extendShinyjs(text = jsCode),
actionButton("print", "PRINT")
))
server <- shinyServer(function(input, output) {
observeEvent(input$print, {
js$winprint()
})
})
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)
但我现在收到以下错误,该应用程序将不再部署。
Error: shinyjs: extendShinyjs: `functions` argument must be provided
Run Code Online (Sandbox Code Playgroud) 我试图用geom_historgram可视化考试中的分数分布,同时填充字母分数(A,B,C,D,F)。由于某种原因,填充色会溢出到错误的类别中。我已经根据分数检查了字母等级列,这似乎是正确的。
它是针对大型班级的,因此我将数据修整到尽可能少的等级,以重现相似的结果。
我已经使用ifelse为相关点创建字母等级。例如,A = 90-100,B = 80-79.99。然后,我用字母等级填充创建直方图,但是“ B”分类框的一部分显示为“ A”填充,而“ C”分类框的一部分显示为“ B”填充。
df1 <- as.data.frame(c(90.0, 40.4, 54.8, 86.0, 60.8, 78.4, 68.4, 59.2, 92.0, 64.4,
42.4, 90.8, 83.2, 77.2, 85.2, 45.2, 56.0, 77.6, 73.6, 86.8,
66.0, 80.0, 90.0, 74.0, 77.6))
colnames(df1)<-c("grade")
df1$LetterGrade<- ifelse(df1$grade<60, "F",
ifelse(df1$grade>=60 & df1$grade<70,"D",
ifelse(df1$grade>=70 & df1$grade<80,"C",
ifelse(df1$grade>=80 & df1$grade<90,"B","A"))))
ggplot(df1, aes(x=grade, fill = LetterGrade)) +
geom_histogram(breaks=seq(0, 100, by = 10)) +
scale_x_continuous(breaks = seq(0, 100, 10))
Run Code Online (Sandbox Code Playgroud)

我尝试添加箱= 10,但得到类似的结果。我希望每个填充正确代表字母等级。任何帮助,将不胜感激。