小编Cas*_*mos的帖子

如何对行进行分组并在 r 中以列表形式排列它们的单元格关联?

由于我的英语水平有限,我无法很好地表达这个问题。但是我想查看我的数据框的单元格关联。意思是,假设我选择“行 a”,那么“行 a”的多个关联如何,然后创建一个数据框,其中每一行都对应于其关联列表?我知道几个dplyr函数,比如group_bygroup_splits,但是我无法使用这些函数。这是我的目标:

ex_df  <- data.frame(Tracts= c(500, 200, 420, 317, 783, 200, 200, 500, 317, 783),
                    Cluster = c(1, 2, 3, 4, 4, 5,1, 2 ,4,3))
#gives:
#       Tracts Cluster
# 1     500       1
# 2     200       2
# 3     420       3
# 4     317       4
# 5     783       4
# 6     200       5
# 7     200       1
# 8     500       2
# 9     317       4
# 10    783       3

# Now how do …
Run Code Online (Sandbox Code Playgroud)

r data-manipulation dataframe

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

如何根据r中的日期/天拆分和制作新的csv文件?

嗨,我有一个 8GB 的​​文件,我需要对其进行一些分析。但是我的 RAM 不是很好。为了有效地工作,我决定使用以下代码根据行拆分我的 csv 文件:

library(tidyverse)

sample_df <- readr::read_csv("sample.csv") #Read in the csv file
dput(sample_df)

#break the large CSV so RAM and Rstudio doesn't crash

groups <- (split(sample_df, (seq(nrow(sample_df))-1) %/% 20)) #here I want 20 rows per file until last row is reached

for (i in seq_along(groups)) {
  write.csv(groups[[i]], paste0("sample_output_file", i, ".csv")) #iterate and write file
}
Run Code Online (Sandbox Code Playgroud)

这非常有效,直到我的高级导师要求我根据每个日期/天进行分析。我遇到了一个问题,因为通过按行拆分,我最终将日期传播到多个 csv。当我尝试读取 3-4 个 csv 以进行基于每天的分析时,这会产生 RAM 和内存管理不足的问题。

示例文件在这里: https //github.com/THsTestingGround/SO_splitbydate_question/blob/master/sample.csv

那么有人可以帮助我如何根据日期拆分我最初读取的以下示例 csv 文件吗?我想将所有 Aprl1 放在一个 csv 文件中,然后将 Aprl2 放在另一个文件中,依此类推。我确实尝试过,但我无法成功。

我也想知道是否 …

r data-manipulation dataframe readr

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

进行主动重置排序或替换数据表中闪亮的数据表按钮

我试图在数据表中放置一个按钮,如果用户想要重置已排序的列,他们可以点击该按钮,表就会重置或更改为其原始顺序。目前,当我按下按钮时,它不会触发任何点击事件。该事件应该替换服务器部分中的数据。

我目前正在关注这些帖子:

  1. 闪亮的 DT 数据表 - 重置过滤器
  2. https://github.com/rstudio/DT/issues/76
  3. 将 DT 表重置为原始排序顺序

然而,在上面的最后两篇文章中,即使他们完成了工作,按钮也不是数据表的一部分。

这是我的代表:

library(DT)
library(shiny)
library(shinyjs)

# function placed in the global.R
clearSorting <- function(proxy) {
  shinyjs::runjs(paste0("$('#' + document.getElementById('", proxy$id,"').getElementsByTagName('table')[0].id).dataTable().fnSort([]);"))
}

# ui.R
ui <- fluidPage(
  DT::DTOutput(outputId = "table"),
  shinyjs::useShinyjs()
)

# servcer.R
server <- function(input, output) {
  
  output$table <- renderDT({
    
    DT::datatable(data = iris,
                  filter = 'top',
                  extensions = c('Buttons'),
                  
                  options = list(scrollY = 600,
                                 scrollX = TRUE,
                                 autoWidth = TRUE,
                                 dom =  '<"float-left"l><"float-right"f>rt<"row"<"col-sm-4"B><"col-sm-4"i><"col-sm-4"p>>',
                                 buttons = list(
                                   list(
                                     extend = …
Run Code Online (Sandbox Code Playgroud)

r datatables shiny dt shinyjs

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

标签 统计

r ×3

data-manipulation ×2

dataframe ×2

datatables ×1

dt ×1

readr ×1

shiny ×1

shinyjs ×1