Any library in R Shiny which provides multiple columnnames and rownames?
I'm looking for a library in R that can generate the results as attached in the picture i.e. multiple columnnames and rownames.
Currently i'm using rpivotTable and DT::Datatable library for the same purpose and building a ShinyApp using them.
But the Problem that i'm facing with them is in exportation of output to excel using ShinyApp, which either comes with wrong repetition of headers or skipping of headers.
e.g when i download the output of Iris as given in codes below, i don't get top headers of Sepal and Petal.
I need this
library(shiny)
library(DT)
iris<-iris[,c(5,1:4)]
ui =basicPage(
tags$head(
tags$style(type = "text/css",
HTML("th text-align: center; ")
)
),
selectInput(inputId = "Species",
label = "Species:",
choices = c("All",
unique(as.character(iris$Species)))),
h2('Iris Table'),
DT::dataTableOutput('mytable')
)
server = function(input, output)
output$mytable = DT::renderDataTable(
# a custom table container
sketch = htmltools::withTags(table(
class = 'display',
thead(
tr(
th(rowspan = 2, 'Species'),
th(colspan = 2, 'Sepal'),
th(colspan = 2, 'Petal')
),
tr(
lapply(rep(c('Length', 'Width'), 2), th)
)
)
))
DT::datatable(filter = "top", rownames = FALSE, container = sketch,
extensions = 'Buttons',
escape = FALSE,
options = list(dom = 'Bfrtip',
buttons =
list('colvis', list(
extend = 'collection',
buttons = list(list(extend='csv',
filename =
'hitStats'),
list(extend='excel',
filename =
'hitStats'),
list(extend='pdf',
filename=
'hitStats'),
list(extend='copy',
filename =
'hitStats'),
list(extend='print',
filename =
'hitStats')),
text = 'Download'
)),
scrollX = TRUE,
pageLength = nrow(iris),
order=list(list(2,'desc'))),
data<-iris
if(input$Species != 'All')
data<-data[data$Species == input$Species,]
# data<-data[,c("Species",input$columns),drop=FALSE]
#
data
)
)
shinyApp(ui = ui, server = server)
r datatable shiny rpivottable
add a comment |
I'm looking for a library in R that can generate the results as attached in the picture i.e. multiple columnnames and rownames.
Currently i'm using rpivotTable and DT::Datatable library for the same purpose and building a ShinyApp using them.
But the Problem that i'm facing with them is in exportation of output to excel using ShinyApp, which either comes with wrong repetition of headers or skipping of headers.
e.g when i download the output of Iris as given in codes below, i don't get top headers of Sepal and Petal.
I need this
library(shiny)
library(DT)
iris<-iris[,c(5,1:4)]
ui =basicPage(
tags$head(
tags$style(type = "text/css",
HTML("th text-align: center; ")
)
),
selectInput(inputId = "Species",
label = "Species:",
choices = c("All",
unique(as.character(iris$Species)))),
h2('Iris Table'),
DT::dataTableOutput('mytable')
)
server = function(input, output)
output$mytable = DT::renderDataTable(
# a custom table container
sketch = htmltools::withTags(table(
class = 'display',
thead(
tr(
th(rowspan = 2, 'Species'),
th(colspan = 2, 'Sepal'),
th(colspan = 2, 'Petal')
),
tr(
lapply(rep(c('Length', 'Width'), 2), th)
)
)
))
DT::datatable(filter = "top", rownames = FALSE, container = sketch,
extensions = 'Buttons',
escape = FALSE,
options = list(dom = 'Bfrtip',
buttons =
list('colvis', list(
extend = 'collection',
buttons = list(list(extend='csv',
filename =
'hitStats'),
list(extend='excel',
filename =
'hitStats'),
list(extend='pdf',
filename=
'hitStats'),
list(extend='copy',
filename =
'hitStats'),
list(extend='print',
filename =
'hitStats')),
text = 'Download'
)),
scrollX = TRUE,
pageLength = nrow(iris),
order=list(list(2,'desc'))),
data<-iris
if(input$Species != 'All')
data<-data[data$Species == input$Species,]
# data<-data[,c("Species",input$columns),drop=FALSE]
#
data
)
)
shinyApp(ui = ui, server = server)
r datatable shiny rpivottable
1
I thinkflextable
would be a good bet. See here.
– p0bs
Nov 14 '18 at 18:33
Thanks mate. While using flextable, can data with multiple headers be exported to Excel as it is?
– Doctor
Nov 18 '18 at 20:48
Sorry, I don't know, but I suspect that the documentation forflextable
should help ... or a previous question on Stack Overflow!
– p0bs
Nov 19 '18 at 13:46
add a comment |
I'm looking for a library in R that can generate the results as attached in the picture i.e. multiple columnnames and rownames.
Currently i'm using rpivotTable and DT::Datatable library for the same purpose and building a ShinyApp using them.
But the Problem that i'm facing with them is in exportation of output to excel using ShinyApp, which either comes with wrong repetition of headers or skipping of headers.
e.g when i download the output of Iris as given in codes below, i don't get top headers of Sepal and Petal.
I need this
library(shiny)
library(DT)
iris<-iris[,c(5,1:4)]
ui =basicPage(
tags$head(
tags$style(type = "text/css",
HTML("th text-align: center; ")
)
),
selectInput(inputId = "Species",
label = "Species:",
choices = c("All",
unique(as.character(iris$Species)))),
h2('Iris Table'),
DT::dataTableOutput('mytable')
)
server = function(input, output)
output$mytable = DT::renderDataTable(
# a custom table container
sketch = htmltools::withTags(table(
class = 'display',
thead(
tr(
th(rowspan = 2, 'Species'),
th(colspan = 2, 'Sepal'),
th(colspan = 2, 'Petal')
),
tr(
lapply(rep(c('Length', 'Width'), 2), th)
)
)
))
DT::datatable(filter = "top", rownames = FALSE, container = sketch,
extensions = 'Buttons',
escape = FALSE,
options = list(dom = 'Bfrtip',
buttons =
list('colvis', list(
extend = 'collection',
buttons = list(list(extend='csv',
filename =
'hitStats'),
list(extend='excel',
filename =
'hitStats'),
list(extend='pdf',
filename=
'hitStats'),
list(extend='copy',
filename =
'hitStats'),
list(extend='print',
filename =
'hitStats')),
text = 'Download'
)),
scrollX = TRUE,
pageLength = nrow(iris),
order=list(list(2,'desc'))),
data<-iris
if(input$Species != 'All')
data<-data[data$Species == input$Species,]
# data<-data[,c("Species",input$columns),drop=FALSE]
#
data
)
)
shinyApp(ui = ui, server = server)
r datatable shiny rpivottable
I'm looking for a library in R that can generate the results as attached in the picture i.e. multiple columnnames and rownames.
Currently i'm using rpivotTable and DT::Datatable library for the same purpose and building a ShinyApp using them.
But the Problem that i'm facing with them is in exportation of output to excel using ShinyApp, which either comes with wrong repetition of headers or skipping of headers.
e.g when i download the output of Iris as given in codes below, i don't get top headers of Sepal and Petal.
I need this
library(shiny)
library(DT)
iris<-iris[,c(5,1:4)]
ui =basicPage(
tags$head(
tags$style(type = "text/css",
HTML("th text-align: center; ")
)
),
selectInput(inputId = "Species",
label = "Species:",
choices = c("All",
unique(as.character(iris$Species)))),
h2('Iris Table'),
DT::dataTableOutput('mytable')
)
server = function(input, output)
output$mytable = DT::renderDataTable(
# a custom table container
sketch = htmltools::withTags(table(
class = 'display',
thead(
tr(
th(rowspan = 2, 'Species'),
th(colspan = 2, 'Sepal'),
th(colspan = 2, 'Petal')
),
tr(
lapply(rep(c('Length', 'Width'), 2), th)
)
)
))
DT::datatable(filter = "top", rownames = FALSE, container = sketch,
extensions = 'Buttons',
escape = FALSE,
options = list(dom = 'Bfrtip',
buttons =
list('colvis', list(
extend = 'collection',
buttons = list(list(extend='csv',
filename =
'hitStats'),
list(extend='excel',
filename =
'hitStats'),
list(extend='pdf',
filename=
'hitStats'),
list(extend='copy',
filename =
'hitStats'),
list(extend='print',
filename =
'hitStats')),
text = 'Download'
)),
scrollX = TRUE,
pageLength = nrow(iris),
order=list(list(2,'desc'))),
data<-iris
if(input$Species != 'All')
data<-data[data$Species == input$Species,]
# data<-data[,c("Species",input$columns),drop=FALSE]
#
data
)
)
shinyApp(ui = ui, server = server)
r datatable shiny rpivottable
r datatable shiny rpivottable
edited Nov 18 '18 at 20:46
Doctor
asked Nov 14 '18 at 18:08
DoctorDoctor
238
238
1
I thinkflextable
would be a good bet. See here.
– p0bs
Nov 14 '18 at 18:33
Thanks mate. While using flextable, can data with multiple headers be exported to Excel as it is?
– Doctor
Nov 18 '18 at 20:48
Sorry, I don't know, but I suspect that the documentation forflextable
should help ... or a previous question on Stack Overflow!
– p0bs
Nov 19 '18 at 13:46
add a comment |
1
I thinkflextable
would be a good bet. See here.
– p0bs
Nov 14 '18 at 18:33
Thanks mate. While using flextable, can data with multiple headers be exported to Excel as it is?
– Doctor
Nov 18 '18 at 20:48
Sorry, I don't know, but I suspect that the documentation forflextable
should help ... or a previous question on Stack Overflow!
– p0bs
Nov 19 '18 at 13:46
1
1
I think
flextable
would be a good bet. See here.– p0bs
Nov 14 '18 at 18:33
I think
flextable
would be a good bet. See here.– p0bs
Nov 14 '18 at 18:33
Thanks mate. While using flextable, can data with multiple headers be exported to Excel as it is?
– Doctor
Nov 18 '18 at 20:48
Thanks mate. While using flextable, can data with multiple headers be exported to Excel as it is?
– Doctor
Nov 18 '18 at 20:48
Sorry, I don't know, but I suspect that the documentation for
flextable
should help ... or a previous question on Stack Overflow!– p0bs
Nov 19 '18 at 13:46
Sorry, I don't know, but I suspect that the documentation for
flextable
should help ... or a previous question on Stack Overflow!– p0bs
Nov 19 '18 at 13:46
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53306363%2fany-library-in-r-shiny-which-provides-multiple-columnnames-and-rownames%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53306363%2fany-library-in-r-shiny-which-provides-multiple-columnnames-and-rownames%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
I think
flextable
would be a good bet. See here.– p0bs
Nov 14 '18 at 18:33
Thanks mate. While using flextable, can data with multiple headers be exported to Excel as it is?
– Doctor
Nov 18 '18 at 20:48
Sorry, I don't know, but I suspect that the documentation for
flextable
should help ... or a previous question on Stack Overflow!– p0bs
Nov 19 '18 at 13:46