小编Gop*_*ala的帖子

R dplyr根据乐趣指数汇总一个列值(另一列)

我有一个数据框,并希望最后显示所需的输出.相反,我在中间得到NA输出.有没有办法用dplyr做我想做的事情?

x <- c(1234, 1234, 1234, 5678, 5678)
y <- c(95138, 30004, 90038, 01294, 15914)
z <- c('2014-01-20', '2014-10-30', '2015-04-12', '2010-2-28', '2015-01-01')
df <- data.frame(x, y, z)
df$z <- as.Date(df$z)
df %>% group_by(x) %>% summarise(y = y[max(z)])

What I get:
     x  y
1 1234 NA
2 5678 NA

Desired Output:
     x     y 
1 1234 90038
2 5678 15914
Run Code Online (Sandbox Code Playgroud)

r dplyr

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

UI侧的R Shiny img()不会渲染图像

我在Shiny UI中尝试渲染的本地文件夹中有一个静态图像,但它不起作用.显示中间带有问号的损坏图像.

ui <- fluidPage(img(src = 'imagefile.png', height = '100px', width = '100px'))
server <- function(input, output) {}
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

知道发生了什么事吗?

r shiny

4
推荐指数
1
解决办法
5591
查看次数

闪亮的数据表删除列标题并完全排序

我正在尝试使用一个没有标题的闪亮数据表。我到了不显示列名的地步,但似乎无法摆脱带有排序箭头的标题:

library(DT)
df < data.frame(x = c('a', 'b', 'c'), y = c(1, 2, 3))
datatable(df, rownames = NULL, colnames = NULL, options = list(dom = 't'))
Run Code Online (Sandbox Code Playgroud)

有什么办法可以完全摆脱标题吗?

datatable r shiny dt

4
推荐指数
2
解决办法
4131
查看次数

从data.frame中的列中提取最后2个字符

我是R编程的新手,已经搜索了很多个小时.我很感激你的帮助.

我有一个数据框,有3列(日期,描述,借记)

      Date         Description   Debit
2014-01-01      "abcdef    VA"      15
2014-01-01     "ghijkl"    NY"      56
Run Code Online (Sandbox Code Playgroud)

我试图提取第二个(描述)列的最后2个字符(即2个字母的州名缩写).我对应用类型函数不太满意.

我试过用

 l <- lapply(a$Description, function(x) {substr(x, nchar(x)-2+1, nchar(x))})
Run Code Online (Sandbox Code Playgroud)

但得到以下错误消息

Error in nchar(x) : invalid multibyte string, element 1 
Run Code Online (Sandbox Code Playgroud)

我尝试了多种其他方法,但有相同的错误.

我很确定我遗漏了一些非常基本的东西,所以非常感谢你的帮助

谢谢

r extract dataframe

3
推荐指数
1
解决办法
4695
查看次数

在闪亮的仪表板中调整信息框的高度

我有一个像这样的非常基本的信息框,并且想要调整高度,因为当前高度对于我要合并的内容来说太多了。

知道我该怎么做吗?我尝试了这里的建议:r Shinydashboard - change height of valueBox。但是,这没有任何变化。

sidebar <- dashboardSidebar(
  sidebarMenu(id = 'sidebarmenu',
              menuItem('About', tabName = 'about'))
  )

about <- tabItem('about', fluidPage(
  fluidRow(
      infoBoxOutput('age')
    )
  )
)

body <- dashboardBody(
  tabItems(
   about 
  )  
)

ui <- dashboardPage(
  dashboardHeader(
    title = 'My App'
  ),
  sidebar = sidebar,
  body = body
)

server <- function(input, output) {
  output$age <- renderInfoBox({
    infoBox('Age: ', 50, icon = icon('list'), width = 6)
  })
}

shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

r shiny shinydashboard

3
推荐指数
1
解决办法
8500
查看次数

data.table性能在计算列的滞后差异时不能线性扩展

data.table相当新的.经过两年的抵抗,我终于放弃了我的数据大小.我试图根据滞后时间差(POSIXct)按组计算"等待"时间,如下所示:

dt <- data.table(id = c(rep('a', 5), rep('b', 5)),
                 time = (Sys.time() + rnorm(10, 100, 10)))
dt <- dt[order(id, time)]
dt[, wait := difftime(time, shift(time, fill = min(time), type = 'lag'),
                      unit = 'mins'),
   by = id]
Run Code Online (Sandbox Code Playgroud)

这工作正常,但是当我在1150万行上运行它有近100,000个组(id)时,它需要大约10s(用户时间和经过时间),其中相同的代码在4500万行上有近200,000个组(id),它需要300多秒的用户时间(超过730秒的经过时间).我用system.time代码周围的命令测量运行时间.

有关为何如此完全非线性扩展性能的想法?而且,我如何通过编写更好的data.table代码来使其线性扩展?

performance r data.table

3
推荐指数
1
解决办法
66
查看次数

用于 JavaScript 链接的 UI 之外的闪亮模块命名空间

我正在尝试使用闪亮的模块来重用 UI 和服务器代码来呈现共享相同演示文稿的三个不同数据集。

在 UI/服务器代码之外使用基于 javascript 的模态弹出链接创建时,在处理命名空间时遇到了一些挑战。

这是我的非工作应用程序代码:

library(shiny)
library(shinyBS)
library(DT)

df <- data.frame(id = c('a', 'b', 'c'), value = c(1, 2, 3))

on_click_js = "
Shiny.onInputChange('myLinkName', '%s');
$('#myModal').modal('show')
"

convert_to_link = function(x) {
  as.character(tags$a(href = "#", onclick = sprintf(on_click_js, x), x))
}
df$id_linked <- sapply(df$id, convert_to_link)
df <- df[, c('id_linked', 'value')]

mySampleUI <- function(id) {
  ns <- NS(id)

  fluidPage(
    mainPanel(
      dataTableOutput(ns('myDT')),
      bsModal(id = 'myModal',
              title = 'My Modal Title',
              trigger = '',
              size = 'large',
              textOutput(ns('modalDescription'))
      ),
      width = …
Run Code Online (Sandbox Code Playgroud)

r shiny shinybs

3
推荐指数
1
解决办法
2302
查看次数

R Shiny:在页面访问时呈现ShinyBS模态弹出窗口(无用户操作)

我之前在代码中成功使用了bsModal.但是,我似乎无法在用户默认访问应用的第一页时显示模式弹出窗口.我认为这样的事情会奏效,但不会.知道如何在页面访问时触发bsModal吗?

library(shiny)
library(shinyBS)

ui <- fluidPage(
  mainPanel(
    bsModal(id = 'startupModal', title = 'Dum Dum', trigger = '',
            size = 'large', p("here is my mumbo jumbo")),
    width = 12
  )
)

server <- function(input, output, session) {

}

shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

我只需要在用户访问应用程序时向用户发出消息,然后允许他们关闭模式弹出窗口并自由导航应用程序的其余部分.我正在使用Shinydashboard.所以,最终,这必须与之合作.

r shiny shinybs

3
推荐指数
2
解决办法
2688
查看次数

Plotly R 中的分组线图:如何控制线条颜色?

我有一堆来自同一主题的研究的“配对”观察结果,我正在尝试构建一个意大利面条图来可视化这些观察结果,如下所示:

library(plotly)
df <- data.frame(id = rep(1:10, 2),
                 type = c(rep('a', 10), rep('b', 10)),
                 state = rep(c(0, 1), 10),
                 values = c(rnorm(10, 2, 0.5), rnorm(10, -2, 0.5)))
df <- df[order(df$id), ]
plot_ly(df, x = type, y = values, group = id, type = 'line') %>%
  layout(showlegend = FALSE)
Run Code Online (Sandbox Code Playgroud)

它产生了我正在寻找的正确情节。但是,代码以自己的颜色显示了每个分组的行,这真的很烦人,让人分心。我似乎无法找到摆脱颜色的方法。

额外问题:我实际上想使用color = state该变量并实际为斜线着色。

任何方法/想法?

r plotly

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

在向右滚动时无法修复Shiny DataTable中的列

我只是想在启用ScrollX的情况下向右滚动时保持最左边的列固定,而无法使其正常工作。知道我需要做些什么吗?

library(shiny)
library(DT)

ui <- fluidPage(
  fluidRow(mainPanel(DT::dataTableOutput('mtcars'), width = 12))
  )
server <- server <- function(input, output, session) {
  output$mtcars <- DT::renderDataTable({
    mtcars %>%
      DT::datatable(
        selection = 'none', rownames = '', filter = 'none',
        options = list(
          paging = TRUE, searching = TRUE, info = FALSE,
          sort = TRUE, scrollX = TRUE, fixedColumns = list(leftColumns = 1)
          )
        )
    })
  }
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

此处的版本信息:

> packageVersion('DT')
[1] ‘0.4.16’
> packageVersion('shiny')
[1] ‘1.1.0’
> version
               _                           
platform …
Run Code Online (Sandbox Code Playgroud)

r shiny dt

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