小编dan*_*kas的帖子

DT数据表中的列对齐

在我的shiny应用我使用datatable功能从DT库来构建一个表,要对齐的中心柱.我可以使用,formatStyle('column', textAlign = 'center')但它只影响列体而不影响标题.

r shiny dt

33
推荐指数
1
解决办法
2万
查看次数

在R中使用NA值进行聚类

我很惊讶地发现,claralibrary(cluster)允许来港定居.但是函数文档没有说明它如何处理这些值.

所以我的问题是:

  1. 如何clara处理NAs?
  2. 这可以用于某种方式kmeans(不允许使用Nas)吗?

[更新]所以我确实在clara函数中找到了代码行:

inax <- is.na(x)
valmisdat <- 1.1 * max(abs(range(x, na.rm = TRUE)))
x[inax] <- valmisdat
Run Code Online (Sandbox Code Playgroud)

哪个缺少价值替代valmisdat.不确定我理解使用这种配方的原因.有任何想法吗?是否更自然地分别对每个列处理NAs,可能用均值/中位数替换?

r cluster-analysis

11
推荐指数
1
解决办法
1万
查看次数

是否可以在闪亮的应用程序中初始化ggplot中的画笔?

我有一个shiny应用程序,我想在开始时ggplot使用a brush,因此用户无需在每次应用程序启动时选择某个感兴趣的区域.当然后来用户可以选择不同的区域.这是一个开头的例子:

library(shiny)
library(ggplot2)

runApp(shinyApp(
  ui = fluidPage(plotOutput('plotA', brush = brushOpts(id = 'plotA_brush')),
                 plotOutput('plotZ')),
  server = function(input, output, session) {
    pollData <- reactivePoll(60 * 1000, session,
                             checkFunc = function(){ Sys.time() },
                             valueFunc = function(){ data.frame(x = 1:100, y = cumsum(rnorm(100)))})
    output$plotA <- renderPlot({
      dt <- pollData()
      ggplot(dt, aes(x, y)) + geom_line()
    })
    ranges <- reactiveValues(x = NULL, y = NULL)
    observe({
      brush <- input$plotA_brush
      if(!is.null(brush)) {
        ranges$x <- c(brush$xmin, brush$xmax)
        ranges$y <- c(brush$ymin, brush$ymax)
      } …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 shiny

8
推荐指数
1
解决办法
373
查看次数

R中的行明矩阵运算

最近我遇到了data.table包裹.我仍然不确定如何进行行方式矩阵运算.它原本打算处理此类操作吗?例如,data.table等同于apply(M,1,fun)什么?

fun应该采取的向量作为参数,例如mean,median,或mad.

r data.table

6
推荐指数
1
解决办法
3139
查看次数

将csv读入clojure中的列表

我知道有很多相关的问题,我已经阅读了它们,但仍然没有对如何读取 - 处理 - 写入有一些基本的了解.以下功能为例,它使用clojure-csv库来解析一行

(defn take-csv
  "Takes file name and reads data."
  [fname]
  (with-open [file (reader fname)]
    (doseq [line (line-seq file)]
      (let [record (parse-csv line)]))))
Run Code Online (Sandbox Code Playgroud)

我想要获得的是将数据读入某些集合,(def data (take-csv "file.csv"))然后再处理它.所以基本上我的问题是如何返回record或更确切地说是记录列表.

clojure

6
推荐指数
1
解决办法
8382
查看次数

确定是否在闪亮的应用程序中单击了DT数据表

以下是我尝试获取表单击事件的最佳尝试示例:

library(shiny)
library(DT)

runApp(shinyApp(
  ui = fluidPage(DT::dataTableOutput('table')),
  server = function(input, output, session) {
    output$table <- DT::renderDataTable({
      dt <- data.frame(a = 1)
      datatable(dt, rownames = FALSE, selection = 'none')
    })
    observeEvent(input$table_cell_clicked, {
      print(Sys.time())
    })}
))
Run Code Online (Sandbox Code Playgroud)

问题是,observeEvent只有当用户点击与之前点击的单元格不同的单元格时,才会做出反应.有没有办法在任何桌面上点击活动?

r shiny dt

6
推荐指数
1
解决办法
3039
查看次数

使用自定义容器在闪亮应用程序的DT数据表中添加垂直线

我想在列组之间添加一条垂直线.这是一个理想的结果:

---------
g1  | g2
---------
a b | a b
---------
1 2 | 3 4
---------
Run Code Online (Sandbox Code Playgroud)

和一个闪亮的应用程序开始:

library(shiny)
library(DT)
library(htmltools)

runApp(shinyApp(
  ui <- basicPage(
    DT::dataTableOutput('table1')
  ),
  server = function(input, output) {
    output$table1 <- DT::renderDataTable({
      datatable(data.frame(a1 = 1, b1 = 2, a2 = 3, b2 = 4), rownames = FALSE,
                container = withTags(table(
                  class = 'display',
                  thead(
                    tr(
                      th(colspan = 2, 'g1'),
                      th(colspan = 2, 'g2')
                    ),
                    tr(
                      lapply(rep(c('a', 'b'), 2), th)
                    )
                  )
                ))
      )
    })
  }
)) …
Run Code Online (Sandbox Code Playgroud)

r shiny dt

6
推荐指数
1
解决办法
2747
查看次数

DT :: datatable的背景颜色闪闪发光

如何在闪亮的应用程序中更改数据表中所选行的背景颜色?我的ui.R具有以下代码:

library(shinydashboard)

header <- dashboardHeader(title = 'title')
sidebar <- dashboardSidebar(
  sidebarMenu(
    menuItem('dashboard', tabName = 'dashboard', icon = icon('dashboard'))
  )
)
body <- dashboardBody(
  fluidRow(
    column(width = 6,
           box(
             title = 'box', width = NULL, status = 'primary',
             DT::dataTableOutput('table1')
           ),
           box(
             title = 'box', width = NULL, status = 'primary',
             DT::dataTableOutput('table2')
           )
    ),
    column(width = 6,
           box(
             title = 'box', width = NULL, status = 'primary',
             DT::dataTableOutput('table3')
           )
    )
  )
)
dashboardPage(header, sidebar, body)
Run Code Online (Sandbox Code Playgroud)

shiny dt

5
推荐指数
1
解决办法
4072
查看次数

更新闪亮应用程序中的数据而不刷新整个应用程序

我有一个使用R shiny库构建实时数据可视化的应用程序.我使用reactivePoll函数定期从文件重新加载数据.我不喜欢这样的,每当数据重新加载时,整个应用程序都会刷新.

因此,例如,如果我有DT选择的表输出,并且我使用此选择,input$table_rows_selected它将重置为NULL数据重新加载,这完全不是用户友好的.

是否总体可以在不中断用户的情况下更改数据输出?

UPDATE.

这可以用任何其他包显示表 - googleVis或其他?

工作实例.

library(shiny)
library(DT)

runApp(shinyApp(
  ui = fluidPage(dataTableOutput('table')),
  server = function(input, output, session) {
    pollData <- reactivePoll(4000, session,
                             checkFunc = function(){ Sys.time() },
                             valueFunc = function(){ data.frame(id = sample(letters[1:3]), a = runif(3), b = runif(3), c = runif(3)) })
    output$table <- renderDataTable({pollData()})
    proxy <- dataTableProxy('table')
    observeEvent(pollData(), {
      selectRows(proxy, input$table_rows_selected)
    })}
))
Run Code Online (Sandbox Code Playgroud)

我从@NicE回答了这个例子并添加了id列.关键是,当行由行号标识时,如果需要选择某行,则@NicE答案是可以的.

现在假设当某行由某个id值标识时,我需要选择一行.也就是说,如果我选择id等于b的行,那么下次数据重新加载时我希望选择具有相同id值的行.

r shiny googlevis dt

5
推荐指数
1
解决办法
4538
查看次数

在闪亮的应用程序中保留rhandsontable的行顺序

我在这里运行一个例子.

library(rhandsontable)
library(shiny)

runApp(shinyApp(
  ui = fluidPage(rHandsontableOutput("hot")),
  server = function(input, output, session) {
    fname <- "mtcars2.csv"
    values <- reactiveValues()
    setHot <- function(x) values[["hot"]] = x

    observe({
      if(!is.null(values[["hot"]])) write.csv(values[["hot"]], fname)
    })

    output$hot <- renderRHandsontable({
      if (!is.null(input$hot)) {
        DF <- hot_to_r(input$hot)
      } else {
        DF <- read.csv("mtcars.csv", stringsAsFactors = FALSE)
      }
      setHot(DF)
      rhandsontable(DF) %>%
        hot_table(highlightCol = TRUE, highlightRow = TRUE) %>%
        hot_cols(columnSorting = TRUE)
    })
  }
))
Run Code Online (Sandbox Code Playgroud)

我希望对表进行的更改保存在文件中mtcars2.csv.我还想保留行顺序.在项目主页中,它说"排序只影响小部件,不会重新排序原始数据集".我可以以某种方式获取表的当前视图并保存它吗?

r shiny

5
推荐指数
1
解决办法
584
查看次数

标签 统计

r ×8

shiny ×7

dt ×5

clojure ×1

cluster-analysis ×1

data.table ×1

ggplot2 ×1

googlevis ×1