我正在尝试做一些非常简单的事情,但却无法找出正确的指定方式.我只想从中排除一些命名列mutate_at.如果我指定位置,它工作正常,但我不想硬编码位置.
例如,我想要相同的输出:
mtcars %>% mutate_at(-c(1, 2), max)
Run Code Online (Sandbox Code Playgroud)
但是,通过指定mpg和cyl列名称.
我尝试了很多东西,包括:
mtcars %>% mutate_at(-c('mpg', 'cyl'), max)
Run Code Online (Sandbox Code Playgroud)
有没有办法处理名称和排除mutate_at?
我有一个带有日期列的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) 我有这个基本的闪亮应用程序,它在'查看器'中非常快速,但是当我使用"在浏览器中打开"选项时,选择输入选项需要一段时间才能加载.
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) 我正在使用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)
是否有可能建立两级嵌套?当然,上面的删除l和m …
我试图让我的每个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) 我有这样的数据框
> 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)
什么是正确的方法?
我有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) 我有一个像这样的数据框:
> 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) 我正在使用 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) 我有一个数据框,并希望最后显示所需的输出.相反,我在中间得到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)