闪亮服务器上的 rpivotTable 无法正常工作
rpivotTable on shiny server not working
我正在尝试 运行 一个包含 rpivottable 的闪亮应用程序。
我的配置:
devtools 1.8.0,htmlwidgets 0.4.2,rpivotTable 0.1.4.1,闪亮的 0.12.0
R 版本 3.1.2 (2014-10-31)
Ubuntu 14.04.1 LTS
我的代码在本地运行完美,但在服务器上崩溃。在浏览器上,我在控制台上收到此错误:
TypeError: x 未定义
它链接到此代码:
HTMLWidgets.widget({
name: 'rpivotTable',
type: 'output',
initialize: function(el, width, height) {
return {}
},
renderValue: function(el, x, instance) {
x.data = HTMLWidgets.dataframeToD3(x.data);
var derivers = $.pivotUtilities.derivers;
var tpl = $.pivotUtilities.aggregatorTemplates;
x.params.renderers = $.extend(
$.pivotUtilities.renderers,
$.pivotUtilities.d3_renderers,
$.pivotUtilities.c3_renderers
);
$('#'+el.id).pivotUI(
x.data, x.params
);
},
resize: function(el, width, height, instance) {
}
});
我的 R 代码如下:
if (interactive()) { lib.path <- my.path.local
} else { lib.path <- my.path.server }
### packages ###
library(shiny, lib.loc = lib.path)
library(htmlwidgets, lib.loc = lib.path)
library(rpivotTable, lib.loc = lib.path)
data <- data.frame(var1 = c("mod1", "mod2"), value = c(1, 2))
shinyApp(
ui = fluidPage(
sidebarLayout(
sidebarPanel(
textOutput("config"), textOutput("path"), textOutput("version"))
, mainPanel(
rpivotTableOutput("test")
)
)),
server = function(input, output) {
output$test <- rpivotTable::renderRpivotTable({
rpivotTable(data = data)
})
output$config <- renderText({
tt <- installed.packages()
paste(paste(tt[tt[, 1] %in% c("shiny", "htmlwidgets", "rpivotTable", "devtools") , 1],
tt[tt[, 1] %in% c("shiny", "htmlwidgets", "rpivotTable", "devtools") , 3]), collapse = ", ")
})
output$path <- renderText({
ll <- .libPaths()
ll
})
output$version <- renderText({
ss <- sessionInfo()
ss[[1]]$version.string
})
}
)
有人遇到过这个错误吗?
最佳,
YCR:没有评论,但您有 Shiny + rpivotTable 的工作示例可以分享吗?
实际上 - 这是一个可行的示例。
感谢分享。
该示例是有效的。
写得更好:
library(shiny)
library(rpivotTable)
data <- data.frame(var1 = c("mod1", "mod2"), value = c(1, 2))
shinyApp(
ui = fluidPage(
sidebarLayout(
sidebarPanel(mainPanel(
rpivotTableOutput("test")
)
)),
server = function(input, output) {
output$test <- rpivotTable::renderRpivotTable({
rpivotTable(data = data)
})
}
)
我正在尝试 运行 一个包含 rpivottable 的闪亮应用程序。
我的配置: devtools 1.8.0,htmlwidgets 0.4.2,rpivotTable 0.1.4.1,闪亮的 0.12.0
R 版本 3.1.2 (2014-10-31)
Ubuntu 14.04.1 LTS
我的代码在本地运行完美,但在服务器上崩溃。在浏览器上,我在控制台上收到此错误:
TypeError: x 未定义
它链接到此代码:
HTMLWidgets.widget({
name: 'rpivotTable',
type: 'output',
initialize: function(el, width, height) {
return {}
},
renderValue: function(el, x, instance) {
x.data = HTMLWidgets.dataframeToD3(x.data);
var derivers = $.pivotUtilities.derivers;
var tpl = $.pivotUtilities.aggregatorTemplates;
x.params.renderers = $.extend(
$.pivotUtilities.renderers,
$.pivotUtilities.d3_renderers,
$.pivotUtilities.c3_renderers
);
$('#'+el.id).pivotUI(
x.data, x.params
);
},
resize: function(el, width, height, instance) {
}
});
我的 R 代码如下:
if (interactive()) { lib.path <- my.path.local
} else { lib.path <- my.path.server }
### packages ###
library(shiny, lib.loc = lib.path)
library(htmlwidgets, lib.loc = lib.path)
library(rpivotTable, lib.loc = lib.path)
data <- data.frame(var1 = c("mod1", "mod2"), value = c(1, 2))
shinyApp(
ui = fluidPage(
sidebarLayout(
sidebarPanel(
textOutput("config"), textOutput("path"), textOutput("version"))
, mainPanel(
rpivotTableOutput("test")
)
)),
server = function(input, output) {
output$test <- rpivotTable::renderRpivotTable({
rpivotTable(data = data)
})
output$config <- renderText({
tt <- installed.packages()
paste(paste(tt[tt[, 1] %in% c("shiny", "htmlwidgets", "rpivotTable", "devtools") , 1],
tt[tt[, 1] %in% c("shiny", "htmlwidgets", "rpivotTable", "devtools") , 3]), collapse = ", ")
})
output$path <- renderText({
ll <- .libPaths()
ll
})
output$version <- renderText({
ss <- sessionInfo()
ss[[1]]$version.string
})
}
)
有人遇到过这个错误吗?
最佳,
YCR:没有评论,但您有 Shiny + rpivotTable 的工作示例可以分享吗?
实际上 - 这是一个可行的示例。
感谢分享。
该示例是有效的。
写得更好:
library(shiny)
library(rpivotTable)
data <- data.frame(var1 = c("mod1", "mod2"), value = c(1, 2))
shinyApp(
ui = fluidPage(
sidebarLayout(
sidebarPanel(mainPanel(
rpivotTableOutput("test")
)
)),
server = function(input, output) {
output$test <- rpivotTable::renderRpivotTable({
rpivotTable(data = data)
})
}
)