小编M.Q*_*sim的帖子

基于 rhandsontable 中的单元格值的颜色行

我正在努力根据单元格值在我闪亮的应用程序中为整行 rhandsontable 着色。

在下面的示例中,我想格式化整行而不是一个单元格。

library(rhandsontable)

DF = data.frame(val = 1:10, bool = TRUE, big = LETTERS[1:10],
                small = letters[1:10],
                dt = seq(from = Sys.Date(), by = "days", length.out = 10),
                stringsAsFactors = FALSE)

col_highlight = 2
row_highlight = c(5, 7)

rhandsontable(DF, width = 550, height = 300) %>%
  hot_cols(renderer = "
               function (instance, td, row, col, prop, value, cellProperties) {
               Handsontable.renderers.TextRenderer.apply(this, arguments);

               if(value == 'F' | value == 'f') {
               td.style.background = 'pink';
               } else if(value == 'J' | value …
Run Code Online (Sandbox Code Playgroud)

r rhandsontable

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

闪亮的应用程序不反映更新RData文件中的更改

我每天通过我的闪亮应用程序的cron作业更新我的RData文件.但是,闪亮的应用程序不会在大多数情况下选择更新并继续显示旧RData文件中的旧数据.

这是最小可重复的例子.从我的桌面执行data_processing.R时,它工作正常.但是,当它在Rshiny服务器上完成时,闪亮的应用程序不会读取更新的日期和时间戳.

data_processing.R

rm(list=ls())
df <- iris
data_update_date_time <- Sys.time()
save.image("working_dataset.RData", compress = TRUE)
Run Code Online (Sandbox Code Playgroud)

server.R

load("working_dataset.RData")

function(input, output, session) {

  # Combine the selected variables into a new data frame
  selectedData <- reactive({
    df[, c(input$xcol, input$ycol)]
  })

  clusters <- reactive({
    kmeans(selectedData(), input$clusters)
  })

  output$plot1 <- renderPlot({
    palette(c("#E41A1C", "#377EB8", "#4DAF4A", "#984EA3",
              "#FF7F00", "#FFFF33", "#A65628", "#F781BF", "#999999"))

    par(mar = c(5.1, 4.1, 0, 1))
    plot(selectedData(),
         col = clusters()$cluster,
         pch = 20, cex = 3)
    points(clusters()$centers, pch = 4, cex = 4, …
Run Code Online (Sandbox Code Playgroud)

r shiny

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

在Rshiny中将小册子映射缩放为默认值

无论如何都要添加图层控件或按钮来重置地图并返回初始位置.例如,当您正在探索地图并放大时,然后您想要缩小以返回初始阶段.

library(shiny)
library(leaflet)

ui <- fluidPage(
  leafletOutput("mymap")

)

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

outline <- quakes[chull(quakes$long, quakes$lat),]

output$mymap <- renderLeaflet({ leaflet(quakes) %>%
  # Base groups
  addTiles(group = "OSM (default)") %>%
  addProviderTiles("Stamen.Toner", group = "Toner") %>%
  addProviderTiles("Stamen.TonerLite", group = "Toner Lite") %>%
  # Overlay groups
  addCircles(~long, ~lat, ~10^mag/5, stroke = F, group = "Quakes") %>%
  addPolygons(data = outline, lng = ~long, lat = ~lat,
              fill = F, weight = 2, color = "#FFFFCC", group = "Outline") %>%
  # Layers control …
Run Code Online (Sandbox Code Playgroud)

r leaflet shiny

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

估算多个日期之间的差距

有没有办法找到多个时间轴之间的差距.例如,我的数据如下所示:

library(plyr);library(dplyr)
library(googleVis)

df <- data.frame(Language = structure(c(rep("English",7), rep("German",5), rep("French", 10)), class = "character"),
                 Students = c(LETTERS[1:7], LETTERS[1:5], LETTERS[1:10]), 
                 Start = structure(c(16713,16713,16713,16744,16713,16714,16754,16729,16729,16729,16750,16769,
                                     16724,16724,16745,16724,16759,16766,16723,16722,16736,16796), class = "Date"), 
                 End = structure(c(16762,16720,16762,16755,16720,16764,16762,16765,16765,16749,16761,16770,16758,
                                   16744,16758,16764,16765,16766,16726,16723,16758,16806), class = "Date"))

ddply(df, .(Language), summarise,
      FirstDay = min(Start),
      LastDay = max(End), 
      Duration = LastDay - FirstDay)

plot(gvisTimeline(data=df, rowlabel = "Class", start = "Start", end = "End", options=list(width=600, height=1000) ))
Run Code Online (Sandbox Code Playgroud)

在没有学生上课的时候,我正在计算差距.下图中的间隙以红色突出显示.

在此输入图像描述

r plyr lubridate dplyr

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

在Rshiny传单中的圆形标记上打印标签

Great R Gurus,

有没有可能在Rshiny的圆形标记上嵌入标签的方法,如下所示:

在此处输入图片说明

这是一个供参考的快速示例:

# Some fake data
df <- sp::SpatialPointsDataFrame(
  cbind(
    (runif(20) - .5) * 10 - 90.620130,  # lng
    (runif(20) - .5) * 3.8 + 25.638077  # lat
  ),
  data.frame(type = factor(
    ifelse(runif(20) > 0.75, "p", "s"),
    c("s", "p")
  ))
)

# leaflet map
leaflet(df) %>% addTiles() %>% addCircleMarkers(label = ~type)
Run Code Online (Sandbox Code Playgroud)

我想在标记的顶部打印标签(即“ s”和“ p”)。非常感谢您的回答时间...

r leaflet shiny

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

在data.frame中显示重复记录并省略单个记录

我一直在努力如何在 R 中只选择重复的 data.frame 行。例如,我的 data.frame 是:

age=18:29
height=c(76.1,77,78.1,78.2,78.8,79.7,79.9,81.1,81.2,81.8,82.8,83.5)
Names=c("John","John","John", "Harry", "Paul", "Paul", "Paul", "Khan", "Khan", "Khan", "Sam", "Joe")
village <- data.frame(Names, age, height)

 Names age height
 John  18   76.1
 John  19   77.0
 John  20   78.1
 Harry  21   78.2
 Paul  22   78.8
 Paul  23   79.7
 Paul  24   79.9
 Khan  25   81.1
 Khan  26   81.2
 Khan  27   81.8
 Sam  28   82.8
 Joe  29   83.5
Run Code Online (Sandbox Code Playgroud)

我想看到如下结果:

Names age height
John  18   76.1
John  19   77.0
John  20   78.1
Paul  22   78.8
Paul …
Run Code Online (Sandbox Code Playgroud)

r duplicates dataframe

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

从大型data.frame中写入多个excel/csv文件

我有一个超过500,000行的大型数据框.我希望将它导出到具有特定行限制的多个excel/csv文件(例如100,000行).

我的解决方案是:

library(openxlsx)
write.xlsx(df[1:100000,], "path")
write.xlsx(df[100001:200000,], "path")
write.xlsx(df[200001:300000,], "path")
write.xlsx(df[300001:400000,], "path")
write.xlsx(df[400001:500000,], "path")
Run Code Online (Sandbox Code Playgroud)

有没有优雅的方法呢?谢谢

csv excel r xlsx xlsxwriter

0
推荐指数
1
解决办法
715
查看次数

标签 统计

r ×7

shiny ×3

leaflet ×2

csv ×1

dataframe ×1

dplyr ×1

duplicates ×1

excel ×1

lubridate ×1

plyr ×1

rhandsontable ×1

xlsx ×1

xlsxwriter ×1