小编Flo*_*ian的帖子

如何在Pyspark中加入多个列?

我正在使用Spark 1.3,并希望使用python接口(SparkSQL)加入多个列

以下作品:

我首先将它们注册为临时表.

numeric.registerTempTable("numeric")
Ref.registerTempTable("Ref")

test  = numeric.join(Ref, numeric.ID == Ref.ID, joinType='inner')
Run Code Online (Sandbox Code Playgroud)

我现在想基于多个列加入它们.

我得到SyntaxError:语法无效:

test  = numeric.join(Ref,
   numeric.ID == Ref.ID AND numeric.TYPE == Ref.TYPE AND
   numeric.STATUS == Ref.STATUS ,  joinType='inner')
Run Code Online (Sandbox Code Playgroud)

python join apache-spark apache-spark-sql pyspark

31
推荐指数
3
解决办法
5万
查看次数

如何将由多个文件组成的Shiny应用程序转换为易于共享和可重现的Shiny示例?

有关如何在Stack Overflow上创建Minimal,Complete和Verifiable示例的资源,以及如何创建一个很好的R可重现示例.但是,对于问题没有类似的指导原则,而遵守某些标准使得更有可能给出质量答案,从而解决您的问题.

但是,提出一个好的闪亮问题可能很困难.应用程序通常庞大而复杂,使用多个数据源,并且代码通常分成多个文件,因此很难与其他人共享易于重现的代码.即使可能引起问题server.R,如果没有ui.R(也可能是样式表或其他文件global.R)的内容,该示例是不可再现的.单独复制粘贴所有这些文件的内容是麻烦的,并且需要其他用户重新创建相同的文件结构以能够重现该问题.

所以; 如何将您的应用程序转换为一个良好的可重现的示例?

r r-faq shiny

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

鼠标悬停在闪亮的ggplot上时的工具提示

我正在构建一个闪亮的应用程序

我正在使用ggplot绘制图表.

当我鼠标悬停在图表上的点时,我想要一个工具提示,显示数据框中的一列(可自定义的工具提示)

能否请您建议最好的前进方向.

简单应用:

# ui.R

shinyUI(fluidPage(
 sidebarLayout(
    sidebarPanel(
        h4("TEst PLot")),
    mainPanel(
        plotOutput("plot1")
    )
)
))

# server.R

library(ggplot2)
data(mtcars)

shinyServer(
function(input, output) {
    output$plot1 <- renderPlot({
        p <- ggplot(data=mtcars,aes(x=mpg,y=disp,color=factor(cyl)))
        p <- p + geom_point()
        print(p)
    })
}
)
Run Code Online (Sandbox Code Playgroud)

当我将鼠标悬停在点上时,我希望它显示mtcars $ wt

r mouseover tooltip ggplot2 shiny

21
推荐指数
4
解决办法
3万
查看次数

闪亮的app忙指标

注意:我已经在有光泽的googlegroups和SO中阅读了关于此对象的几乎所有讨论.

我需要一个指示器,显示闪亮的服务器正忙.我曾尝试过闪亮的孵化器,但问题是我无法为进度条设置最大值.我不想要这样的东西:http://shiny.rstudio.com/gallery/progress-example.html 我需要的是:1-显示繁忙的指示器消息和条形图(即只是一个简单的动画条,只要服务器正在计算,就不需要显示填充条 - 无论您正在查看哪个选项卡,都会显示它.(不仅在相关标签中,而且在标签集的顶部)

谢谢

r busyindicator shiny shiny-server

10
推荐指数
2
解决办法
9848
查看次数

闪亮:仅在上传文件后显示按钮

我正在尝试Shiny而我喜欢它.我构建了一个小应用程序,学生上传一个csv文件,然后选择一个因变量和自变量,然后R计算一个线性回归.它工作正常.我把它上传到:

http://carlosq.shinyapps.io/Regresion

[如果需要,可以使用此文件进行测试."beer"是因变量,除"id"之外的其余变量是独立的]

这是server.R:

# server.R
library(shiny)

shinyServer(function(input, output) {

  filedata <- reactive({
    infile <- input$file1
    if (is.null(infile)){
      return(NULL)      
    }
    read.csv(infile$datapath)
  })

  output$dependent <- renderUI({
    df <- filedata()
    if (is.null(df)) return(NULL)
    items=names(df)
    names(items)=items
    selectInput("dependent","Select ONE variable as dependent variable from:",items)
  })


  output$independents <- renderUI({
    df <- filedata()
    if (is.null(df)) return(NULL)
    items=names(df)
    names(items)=items
    selectInput("independents","Select ONE or MANY independent variables from:",items,multiple=TRUE)
  })


  output$contents <- renderPrint({
    input$action
    isolate({   
      df <- filedata()
      if (is.null(df)) return(NULL)
      fmla <- as.formula(paste(input$dependent," ~ ",paste(input$independents,collapse="+")))
      summary(lm(fmla,data=df))
    }) …
Run Code Online (Sandbox Code Playgroud)

r uploading shiny

10
推荐指数
2
解决办法
4187
查看次数

没有循环的Dataframe中的子字符串,填充和粘贴列

我有这个数据框,它看起来像这样:

在此输入图像描述

我需要从列中的第一个字符开始,将整个值放入a中,然后在末尾放置一个计数器,在a列中重复递增.此计数器必须始终为三.最终结果如下:

在此输入图像描述

所以没有什么戏剧性的,我能用以下代码做这件事(准备给人留下深刻的印象):

library(stringr) 
tk <- ""
for (i in 1:nrow(df)){
  if (tk == df$an[i]){
    counter <- counter + 1
  } else {
    tk <- df$an[i]
    counter <- 1
  }
  df$ap[i] <- counter
}

df$ap <- paste0(substr(df$at, 1, 1), df$an, str_pad(df$ap, 3, pad="0"))
Run Code Online (Sandbox Code Playgroud)

我对这次灾难不满意.它似乎不是很"R",我非常希望永远不要让它看到光明的一天.我怎样才能让这更"R"?

我很欣赏这个建议.

string r dataframe stringr

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

闪亮应用程序错误:/ v1/applications/400 - 验证错误执行暂停

嗨,我有一百万个问题试图将我的应用程序发布到shiny.io.

首先,我在我的计算机中安装了Rtools 3.2并设置为Path,但在注册表中无法识别.没关系,这段代码应该解决它:

install.packages("installr")
library(installr)
install.Rtools(choose_version = FALSE, check = TRUE, use_GUI = TRUE,
page_with_download_url = "http://cran.r-project.org/bin/windows/Rtools/, keep_install_file=TRUE")
install.packages("devtools")
library(devtools)
devtools::install_github('rstudio/shinyapps')
Run Code Online (Sandbox Code Playgroud)

接下来,将我的应用部署到我的shiny.io帐户:

library(shinyapps)
shinyapps::setAccountInfo(name='xxxx', token='xxxxxxxxxx', secret='xxxxxxxx')
Run Code Online (Sandbox Code Playgroud)

然后我的应用程序开始在浏览器中运行,然后单击发布到我闪亮的帐户.但是,在部署应用程序时,它会显示以下错误:

Preparing to deploy application...Error: /v1/applications/ 400 - Validation Error
Execution halted
Run Code Online (Sandbox Code Playgroud)

任何想法可能是什么问题?谢谢.

deployment publish r shiny server

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

scale_fill_manual定义NA值的颜色

我尝试用ggplot2制作一个条形图,并且面临着为NA定义颜色的一些问题.

ggh <- ggplot(data=dat, aes(x=var1, fill=var2))+
  geom_bar(position="dodge")+
  scale_fill_manual(
    values=c("s"="steelblue", "i"="darkgoldenrod2", "r"="firebrick4", na.value="black"))
Run Code Online (Sandbox Code Playgroud)

在我的var2中,我有价值观c("s", "i", "r", NA).由于某些原因,我上面的代码scale_fill_manual对NA不起作用,即使它适用于所有其他值.

有人可以帮我找出原因吗?

谢谢您的帮助

r colors bar-chart ggplot2 na

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

如果在R中什么都不做

我是一个非常新手的R程序员,我正在尝试将旧的SAS代码转换为R.我需要根据条件替换值,如果条件为假,请不要管它们.我已经搜索了这个并尝试了许多解决方案,但无济于事.我这样做的原因是对事件的第一个实例进行分类(在这种情况下,医生开处方).如果他们写处方的第一个月是去年的5月,他们的开始月份(新编)是5.如果是6月,那么6等我从今年6月开始倒退,我想更新他们的如果找到早期处方,则开始月份(newwriter).如果没有找到早期处方,我想单独留下这个号码.这是我正在使用的代码:

newwriters$newwriter=ifelse(newwriters$MTRx_06_30_2017>0,18,NULL)
newwriters$newwriter=ifelse(newwriters$MTRx_05_31_2017>0,17,NULL)
newwriters$newwriter=ifelse(newwriters$MTRx_04_30_2017>0,16,NULL)
newwriters$newwriter=ifelse(newwriters$MTRx_03_31_2017>0,15,NULL)
newwriters$newwriter=ifelse(newwriters$MTRx_02_28_2017>0,14,NULL)
newwriters$newwriter=ifelse(newwriters$MTRx_01_31_2017>0,13,NULL)
newwriters$newwriter=ifelse(newwriters$MTRx_12_31_2016>0,12,NULL)
newwriters$newwriter=ifelse(newwriters$MTRx_11_30_2016>0,11,NULL)
newwriters$newwriter=ifelse(newwriters$MTRx_10_31_2016>0,10,NULL)
Run Code Online (Sandbox Code Playgroud)

问题是,如果在那个月没有找到处方,它会不断将更高的值更改为0.我希望它只留下价值观.我已经尝试了以下所有内容但没有成功:

newwriters$newwriter=ifelse(newwriters$MTRx_06_30_2017>0,18,newwriters$newwriter)
newwriters$newwriter=ifelse(newwriters$MTRx_06_30_2017>0,18,newwriters[,16])
newwriters$newwriter=ifelse(newwriters$MTRx_06_30_2017>0,18,)
Run Code Online (Sandbox Code Playgroud)

正如我所提到的,我是编写R代码的新手.我确信有更好/更快/更有效的方法,但我不确定还有什么可以尝试.在此先感谢您的帮助!

if-statement r dataframe

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

应用嵌套列表名称:嵌套列表名称中的子输出字符

我有一个未知结构的列表(嵌套)总是以命名向量终止.我想用列表中的所有句点或原子向量名替换下划线.有rapply申请functios列出的元素,但如何申请在列表/原子向量的名字?我是基于R的解决方案,但请为其他人分享所有解决方案.

MWE

x <- list(
    urban = list(
        cars = c('volvo', 'ford'),
        food.dining = list(
            local.business = c('carls'),
            chain.business = c('dennys', 'panera')
        )
    ),
    rural = list(
        land.use = list(
            farming =list(
                dairy = c('cows'),
                vegie.plan = c('carrots')
            )
        ),
        social.rec = list(
            community.center = c('town.square')
        ),
        people.type = c('good', 'bad', 'in.between')
    ),
    other.locales = c('suburban'),
    missing = list(
        unknown = c(),
        known = c()
    ),
    end = c('wow')
)
Run Code Online (Sandbox Code Playgroud)

期望的结果

## $urban
## $urban$cars
## [1] "volvo" …
Run Code Online (Sandbox Code Playgroud)

recursion r list

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