使用Shiny Inputs在数据集中创建新变量

安德鲁·泰勒(Andrew Taylor)

假设我们有一些nfl播放器数据集:

      Team  POS  WT
1    Chiefs   K 175
2     Bills   K 225
3    Browns  CB 175
4  Chargers  DT 300
5    Browns  TE 220
6    Texans  LB 262
7   Cowboys  LB 234
8  Patriots  DT 309
9    Titans   K 218
10   Browns  WR 167

我想创建一个闪亮的页面,让人们放入自己的体重(WT),并在数据集中创建每个nfl球员体重和输入体重之间的差异。

到目前为止...。

用户界面

shinyUI(fluidPage(


titlePanel(h1("Which NFL Player Are You Most Like?", align = "center")),


sidebarLayout(
 sidebarPanel(

  selectInput("team", "Choose a Team:", 
              choices = c("All","49ers","Bears","Bengals", "Bills", 
                          "Broncos","Browns","Buccaneers", "Cardinals",
                          "Charges","Cheifs","Colts", "Cowboys",
                          "Dolphins","Eagles","Falcons", "Giants",
                          "Jaguars","Jets","Lions", "Packers",
                          "Panthers","Patriots","Raiders", "Rams",
                          "Ravens","Redskins","Saints", "Seahawks",
                          "Steelers","Texans","Titans", "Vikings")),



  selectInput("Position", "What is your Football Position?:", 
              choices = c("All","C",  "CB", "DE", "DT", "FB", "G",  "K",  "LB", "LS", "NT", "P",  "QB", "RB",
                          "S",  "T",  "TE", "WR")),

  numericInput("Weight", "How Much Do You Weigh? (LBS):", NA)


),

mainPanel(
  p("Use the panel at the right to input your own information. Below will be the name or names of players you are most like. If you only want to use
    a subset of variables, leave the others blank or set to 'All'."),

#Right now I just want to know that it worked, so show me the updated dataset where there is   the Weight_diff column
  tableOutput("view")

  )
 )
))

服务器

library(shiny)
 NFLdat<-structure(list(Team = structure(c(10L, 4L, 6L, 9L, 6L, 30L, 12L, 
                              22L, 31L, 6L), .Label = c("49ers", "Bears", "Bengals", "Bills", 
                                                        "Broncos", "Browns", "Buccaneers", "Cardinals", "Chargers", "Chiefs", 
                                                        "Colts", "Cowboys", "Dolphins", "Eagles", "Falcons", "Giants", 
                                                        "Jaguars", "Jets", "Lions", "Packers", "Panthers", "Patriots", 
                                                        "Raiders", "Rams", "Ravens", "Redskins", "Saints", "Seahawks", 
                                                        "Steelers", "Texans", "Titans", "Vikings"), class = "factor"), 
           POS = structure(c(7L, 7L, 2L, 4L, 16L, 8L, 8L, 4L, 7L, 17L
           ), .Label = c("C", "CB", "DE", "DT", "FB", "G", "K", "LB", 
                         "LS", "NT", "P", "QB", "RB", "S", "T", "TE", "WR"), class = "factor"), 
           WT = c(175L, 225L, 175L, 300L, 220L, 262L, 234L, 309L, 218L, 
                  167L)), .Names = c("Team", "POS", "WT"), row.names = c(NA, 
                                                                         10L), class = "data.frame")

shinyServer(function(input, output) {



observe({
 if(is.na(input$Weight)) NFLdat$Weight_diff<-abs(data$WT-data$WT)
 else NFLdat$Weight_diff<-abs(data$WT-((as.numeric(input$Weight))))
})


#Or alternatively
 inputWT <- reactive({
  input$Weight
 })

NFLdat$Weight_diff2<-abs(data$WT-inputWT)

output$view <- renderTable({
 NFLdat
}) 



output$new <-inputWT
})

谢谢!!!

马拉特·塔利波夫(Marat Talipov)

您可能需要创建一个反应式表达式,该表达式返回NFLdat准备渲染子集。我想您的ShinyServer应该遵循以下原则:

 shinyServer(function(input, output) {

 NFLdat.2show <- reactive({
     #browser()
     if (is.na(input$Weight)) return()

     bmask.team <- if (input$team!='All') NFLdat$Team==input$team else TRUE
     d <- NFLdat[bmask.team,]
     d$Weight_diff <- abs(d$WT-input$Weight)

     d
 })  

 output$view <- renderTable({
     NFLdat.2show()
 })

 })

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Shiny Inputs在数据集中创建新变量

来自分类Dev

如何使用lapply在数据框中创建新变量并将其重命名

来自分类Dev

使用数据集中的现有变量创建变量

来自分类Dev

使用dplyr的rename()包括不在数据集中的变量名

来自分类Dev

使用Fuzzywuzzy在数据框中创建新列

来自分类Dev

使用 for 循环在数据框中创建变量

来自分类Dev

在R Shiny的UI中使用变量?

来自分类Dev

创建简单的分类视觉工具(使用Shiny)

来自分类Dev

如何使用Shiny绘制上传的数据集?

来自分类Dev

如何使用R Shiny筛选数据

来自分类Dev

从数据集中计算新变量并使用新维度保存它们

来自分类Dev

使用多个变量在R Shiny中子集数据

来自分类Dev

尝试使用循环在数据集中查找唯一变量并使用sapply来应用特定函数

来自分类Dev

使用内置函数中的参数等其他变量在数据表中添加新变量

来自分类Dev

根据条件在数据集中创建新行

来自分类Dev

R-使用带for循环的其他变量在数据框中创建变量

来自分类Dev

R-使用带有for循环的其他变量在数据框中创建变量

来自分类Dev

使用Shiny,RCharts和数据映射:使用navbarPage删除图例

来自分类Dev

使用R Shiny软件包保存插入的数据(在数据表中)

来自分类Dev

使用dplyr创建仅为数据子集定义的新变量

来自分类Dev

使用全局变量创建新的数据框

来自分类Dev

使用 lapply 在多个数据框上创建新变量

来自分类Dev

使用 python 为分组数据创建新变量

来自分类Dev

Wordcloud不会使用Shiny中的新输入进行更新

来自分类Dev

子集数据并使用Shiny绘制此子集数据

来自分类Dev

使用Shiny Server处理用户并发,将变量分开

来自分类Dev

使用Shiny Server处理用户并发,将变量分开

来自分类Dev

使用字典在数据集中查找条目

来自分类Dev

LightGBM'在数据集中使用categorical_feature。警告?

Related 相关文章

  1. 1

    使用Shiny Inputs在数据集中创建新变量

  2. 2

    如何使用lapply在数据框中创建新变量并将其重命名

  3. 3

    使用数据集中的现有变量创建变量

  4. 4

    使用dplyr的rename()包括不在数据集中的变量名

  5. 5

    使用Fuzzywuzzy在数据框中创建新列

  6. 6

    使用 for 循环在数据框中创建变量

  7. 7

    在R Shiny的UI中使用变量?

  8. 8

    创建简单的分类视觉工具(使用Shiny)

  9. 9

    如何使用Shiny绘制上传的数据集?

  10. 10

    如何使用R Shiny筛选数据

  11. 11

    从数据集中计算新变量并使用新维度保存它们

  12. 12

    使用多个变量在R Shiny中子集数据

  13. 13

    尝试使用循环在数据集中查找唯一变量并使用sapply来应用特定函数

  14. 14

    使用内置函数中的参数等其他变量在数据表中添加新变量

  15. 15

    根据条件在数据集中创建新行

  16. 16

    R-使用带for循环的其他变量在数据框中创建变量

  17. 17

    R-使用带有for循环的其他变量在数据框中创建变量

  18. 18

    使用Shiny,RCharts和数据映射:使用navbarPage删除图例

  19. 19

    使用R Shiny软件包保存插入的数据(在数据表中)

  20. 20

    使用dplyr创建仅为数据子集定义的新变量

  21. 21

    使用全局变量创建新的数据框

  22. 22

    使用 lapply 在多个数据框上创建新变量

  23. 23

    使用 python 为分组数据创建新变量

  24. 24

    Wordcloud不会使用Shiny中的新输入进行更新

  25. 25

    子集数据并使用Shiny绘制此子集数据

  26. 26

    使用Shiny Server处理用户并发,将变量分开

  27. 27

    使用Shiny Server处理用户并发,将变量分开

  28. 28

    使用字典在数据集中查找条目

  29. 29

    LightGBM'在数据集中使用categorical_feature。警告?

热门标签

归档