小编Gop*_*ala的帖子

在dplyr中的mutate_at中按名称排除列

我正在尝试做一些非常简单的事情,但却无法找出正确的指定方式.我只想从中排除一些命名列mutate_at.如果我指定位置,它工作正常,但我不想硬编码位置.

例如,我想要相同的输出:

mtcars %>% mutate_at(-c(1, 2), max)
Run Code Online (Sandbox Code Playgroud)

但是,通过指定mpgcyl列名称.

我尝试了很多东西,包括:

mtcars %>% mutate_at(-c('mpg', 'cyl'), max)
Run Code Online (Sandbox Code Playgroud)

有没有办法处理名称和排除mutate_at

r dplyr

22
推荐指数
2
解决办法
7813
查看次数

熊猫:检查日期是否为假日并指定布尔值

我有一个带有日期列的pandas数据框,我正在尝试添加一个新的布尔值列,指示给定日期是否为假日.

以下是代码,但它不起作用(所有值都是False)因为类型似乎不同,我无法弄清楚如何让pandas数据框中的'date'属于同一类型作为假期:

cal = USFederalHolidayCalendar()
holidays = cal.holidays(start=train_df['date'].min(),
                        end=train_df['date'].max()).to_pydatetime()
train_df['holiday'] = train_df['date'].isin(holidays)
print type(train_df['date'][1])
print type(holidays[0])
Run Code Online (Sandbox Code Playgroud)

python pandas

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

浏览器中较大的数据(约15,000个条目)上的闪亮selectInput非常慢

我有这个基本的闪亮应用程序,它在'查看器'中非常快速,但是当我使用"在浏览器中打开"选项时,选择输入选项需要一段时间才能加载.

selectList <- sapply(1:15000, function(x) paste(sample(letters, 10), collapse = ''))
ui <- fluidPage(
  selectInput('mylist', 'Select Something',
              choices = c(Choose = '', selectList),
              selected = 1)
)

server <- function(input, output) {
}

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

根据这个帖子 - https://groups.google.com/forum/#!topic/shiny-discuss/doHpFM6ZOGg,该问题在一些旧的私人分支中有一个修复.我正在使用的最新安装是这个,我看到了缓慢的问题.

packageVersion('shiny')
[1] ‘0.13.2’
Run Code Online (Sandbox Code Playgroud)

我必须做出的任何选择都有不同的表现吗?

额外需要:

我还希望选择的输入依赖于单选按钮输入,如下所示.但是,由于某种原因,我不能让服务器端选择输入与单选按钮上的observeEvent一起使用.对我做错了什么的想法?

# mylist
selectList1 <- sapply(1:15000, function(x) paste0(x, "_", paste(sample(LETTERS, 10), collapse = '')))
selectList2 <- sapply(1:15000, function(x) paste0(x, "_", paste(sample(letters, 10), collapse = '')))

# ui
ui <- fluidPage(
  selectizeInput(
    inputId = …
Run Code Online (Sandbox Code Playgroud)

r shiny

12
推荐指数
2
解决办法
2228
查看次数

Shinydashboard:是否不可能有嵌套的菜单子项?无法使其发挥作用

我正在使用shinydashboard,并且需要构建两级嵌套子菜单.我正在尝试这个并且不会起作用:

library(shinydashboard)
sidebar <- dashboardSidebar(
  sidebarMenu(id = 'sidebarmenu',
              menuItem('x', tabName = 'x', icon = icon('line-chart')),
              menuItem('y', tabName = 'y',
                       icon = icon('line-chart'),
                       menuSubItem('a',
                                   tabName = 'a',
                                   icon = icon('line-chart')),
                       menuSubItem('b',
                                   tabName = 'b',
                                   icon = icon('line-chart'),
                                   menuSubItem('l',
                                               tabName = 'l',
                                               icon = icon('line-chart')),
                                   menuSubItem('m',
                                               tabName = 'm',
                                               icon = icon('line-chart'))),
                       menuSubItem('c',
                                   tabName = 'c',
                                   icon = icon('line-chart'))
              )))
Run Code Online (Sandbox Code Playgroud)

给我错误:

Error in menuSubItem("b", tabName = "b", icon = icon("line-chart"), menuSubItem("l",  : 
  Can't specify both href and tabName
Run Code Online (Sandbox Code Playgroud)

是否有可能建立两级嵌套?当然,上面的删除lm …

r shiny shinydashboard

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

dplyr - 在group_by之后右连接,不产生期望/预期的结果

我试图让我的每个id /年/月行都拥有与所有七个工作日相对应的所有行,以及"缺少工作日"的NA.

这是数据框架和我尝试完成此任务:

> df
  id year month weekday  amount
1  1 2015     1  Friday 3650.43
2  2 2015     1  Monday 1271.12
3  1 2015     2  Friday 1315.79
4  2 2015     2  Monday 2195.37
> wday
    weekday
1    Friday
2  Saturday
3 Wednesday
4    Sunday
5   Tuesday
6    Monday
7  Thursday
Run Code Online (Sandbox Code Playgroud)

试图使用group_by()和右连接.但是,它并没有产生我认为的那样.有没有一种简单的方法来实现我追求的结果?

> df <- df %>% group_by(id, year, month) %>% right_join(wday)
Joining by: "weekday"
> df
Source: local data frame [9 x 5]
Groups: id, year, month [?]

     id …
Run Code Online (Sandbox Code Playgroud)

r dplyr

9
推荐指数
3
解决办法
1113
查看次数

mutate rowSums排除一列

我有这样的数据框

> df
Source: local data frame [4 x 4]

      a x y z
1 name1 1 1 1
2 name2 1 1 1
3 name3 1 1 1
4 name4 1 1 1
Run Code Online (Sandbox Code Playgroud)

想要通过添加列x,y和z来变异(可以有更多的数字列).试图排除列'a'如下不起作用.

dft <- df %>% mutate(funs(total = rowSums(.)), -a)
Error: not compatible with STRSXP
Run Code Online (Sandbox Code Playgroud)

这也会产生错误:

dft <- df %>% mutate(total = rowSums(.), -a)
Error in rowSums(.) : 'x' must be numeric
Run Code Online (Sandbox Code Playgroud)

什么是正确的方法?

r dplyr

8
推荐指数
2
解决办法
2039
查看次数

Pyspark简单的重新分区和toPandas()无法完成600,000多行

我有JSON数据,我正在读取具有多个字段的数据框,基于两列重新分区,并转换为Pandas.

这项工作在仅有600,000行数据的EMR上失败,但有一些模糊的错误.我还增加了火花驱动器的内存设置,但仍然没有看到任何分辨率.

这是我的pyspark代码:

enhDataDf = (
    sqlContext
    .read.json(sys.argv[1])
    )

enhDataDf = (
    enhDataDf
    .repartition('column1', 'column2')
    .toPandas()
    )
enhDataDf = sqlContext.createDataFrame(enhDataDf)
enhDataDf = (
    enhDataDf
    .toJSON()
    .saveAsTextFile(sys.argv[2])
    )
Run Code Online (Sandbox Code Playgroud)

我的火花设置如下:

conf = SparkConf().setAppName('myapp1')
conf.set('spark.yarn.executor.memoryOverhead', 8192)
conf.set('spark.executor.memory', 8192)
conf.set('spark.driver.memory', 8192)
sc = SparkContext(conf=conf)
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

16/10/01 19:57:56 ERROR executor.CoarseGrainedExecutorBackend: Driver 172.31.58.76:37973 disassociated! Shutting down.
16/10/01 19:57:11 ERROR executor.CoarseGrainedExecutorBackend: Driver 172.31.58.76:42167 disassociated! Shutting down.
16/10/01 19:57:56 ERROR executor.CoarseGrainedExecutorBackend: Driver 172.31.58.76:37973 disassociated! Shutting down.
log4j:ERROR Could not read configuration file from URL [file:/etc/spark/conf/log4j.properties].
log4j:ERROR Ignoring configuration …
Run Code Online (Sandbox Code Playgroud)

memory distributed-computing bigdata apache-spark pyspark

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

R dplyr将行保留到列中第一次出现的值

我有一个像这样的数据框:

> df
  id type
1  1    a
2  1    a
3  1    b
4  1    a
5  1    b
6  2    a
7  2    a
8  2    b
9  3    a
10 3    a
Run Code Online (Sandbox Code Playgroud)

我希望将每个组(id)的所有行保留到类型列中第一次出现的值"b".对于没有类型'b'的组,我想保留所有行.

生成的数据框应如下所示:

> dfnew
  id type
1  1    a
2  1    a
3  1    b
4  2    a
5  2    a
6  2    b
7  3    a
8  3    a
Run Code Online (Sandbox Code Playgroud)

我尝试了下面的代码,但它保留了超出第一次出现'b'的值'a'的其他行,并且只排除了'b'的其他出现,这不是我想要的.请看下面的第4行.我想摆脱它.

> df %>% group_by(id) %>% filter(cumsum(type == 'b') <= 1)
Source: local data frame …
Run Code Online (Sandbox Code Playgroud)

r dplyr

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

闪亮模块不适用于 renderUI

我正在使用 renderUI 根据用户对可视化选项的选择来选择性地呈现表格或绘图。我还使用 Shiny 模块在多个选项卡上显示相同的内容。虽然我已经让 Shiny 模块在另一个应用程序中出色地工作,但我正在努力让它与 renderUI 一起工作。

这是我想出的一小段代码,它显示了在两个选项卡上都没有显示任何内容的问题:

myUI <- function(id) {
  ns <- NS(id)
  fluidRow(
    uiOutput(ns('myFinalText'))
  )
}

ui <- fluidPage(
  tabBox(id = 'myBox', width = 12,
         tabPanel('Tab1',
                  fluidRow(
                    myUI('tab1')
                  )),
         tabPanel('Tab2',
                  fluidRow(
                    myUI('tab2')
                  ))
         )
)

myTextFunc <- function(input, output, session, text) {
  output$myFinalText <- renderUI({
    output$myText <- renderText({text})
    textOutput('myText')
  })
}

server <- function(input, output, session) {
  callModule(myTextFunc, 'tab1', session = session, 'Hello Tab1')
  callModule(myTextFunc, 'tab2', session = session, 'Hello Tab2')
}

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

r shiny

6
推荐指数
2
解决办法
3724
查看次数

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
查看次数