- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人可以检查我的代码以确保其全部正确吗?我已经读入了数据,看起来一切正常,就在我运行 shiny 时,图表出现了,但没有数据。我用 # 隐藏了程序的一些功能,因为我无法正确选择其他变量。我已经包含了 weather_files、weather_years 和天气数据的一些数据。
天气文件
structure(list(Town = structure(c(2L, 4L, 2L, 1L, 1L, 1L, 1L,
4L, 1L, 4L, 5L, 1L, 2L, 4L, 2L, 5L, 5L, 1L, 3L, 4L, 3L, 3L, 5L,
5L, 5L), .Label = c("braemar", "dunstaffnage", "nairn", "stornoway",
"tiree"), class = c("ordered", "factor")), year = structure(c(132L,
37L, 128L, 100L, 137L, 147L, 143L, 22L, 103L, 89L, 96L, 138L,
109L, 87L, 142L, 109L, 61L, 138L, 136L, 75L, 112L, 92L, 118L,
100L, 66L), .Label = c("1873", "1874", "1875", "1876", "1877",
"1878", "1879", "1880", "1881", "1882", "1883", "1884", "1885",
"1886", "1887", "1888", "1889", "1890", "1891", "1892", "1893",
"1894", "1895", "1896", "1897", "1898", "1899", "1900", "1901",
"1902", "1903", "1904", "1905", "1906", "1907", "1908", "1909",
"1910", "1911", "1912", "1913", "1914", "1915", "1916", "1917",
"1918", "1919", "1920", "1921", "1922", "1923", "1924", "1925",
"1926", "1927", "1928", "1929", "1930", "1931", "1932", "1933",
"1934", "1935", "1936", "1937", "1938", "1939", "1940", "1941",
"1942", "1943", "1944", "1945", "1946", "1947", "1948", "1949",
"1950", "1951", "1952", "1953", "1954", "1955", "1956", "1957",
"1958", "1959", "1960", "1961", "1962", "1963", "1964", "1965",
"1966", "1967", "1968", "1969", "1970", "1971", "1972", "1973",
"1974", "1975", "1976", "1977", "1978", "1979", "1980", "1981",
"1982", "1983", "1984", "1985", "1986", "1987", "1988", "1989",
"1990", "1991", "1992", "1993", "1994", "1995", "1996", "1997",
"1998", "1999", "2000", "2001", "2002", "2003", "2004", "2005",
"2006", "2007", "2008", "2009", "2010", "2011", "2012", "2013",
"2014", "2015", "2016", "2017", "2018", "2019", "2020"), class =
"factor"),
month_year = structure(c(10L, 7L, 2L, 7L, 6L, 11L, 8L, 3L,
4L, 3L, 12L, 6L, 1L, 7L, 3L, 9L, 4L, 4L, 8L, 4L, 10L, 3L,
4L, 10L, 8L), .Label = c("April", "August", "December", "February",
"January", "July", "June", "March", "May", "November", "October",
"September"), class = "factor"), month = c(11, 6, 8, 6, 7,
10, 3, 12, 2, 12, 9, 7, 4, 6, 12, 5, 2, 2, 3, 2, 11, 12,
2, 11, 3), `Maximum Temp` = c(104, 134, 191, 132, 178, 98,
76, 8, 6, 58, 151, 17, 121, 158, 81, 132, 71, 23, 82, 29,
93, 59, 81, 93, 101), `Minimum Temp` = c(63, 8, 115, 5, 82,
2, 1, 26, 22, 11, 101, 89, 36, 87, 28, 75, 31, 58, 16, 21,
42, 1, 31, 41, 66), `Air Frost Days` = c(2, 0, 0, 0, 0, 12,
13, 4, 17, 19, 0, 0, 2, 0, 3, 0, 2, 24, 6, 17, 2, 12, 2,
1, 0), `Rainfall (mm)` = c(1074, 564, 107, 636, 884, 642,
684, 1789, 356, 104, 1281, 93, 247, 744, 2712, 78, 904, 156,
416, 111, 841, 466, 2463, 1104, 1091), Sunshine = c(NA, NA,
1538, 1431, NA, NA, NA, NA, 801, 263, 1375, NA, NA, 206,
NA, 1993, 723, NA, 1068, 863, 339, NA, 459, 456, 628)), row.names =
c(NA,
-25L), class = c("tbl_df", "tbl", "data.frame"))
读取它的人,Shiny 的输入数据是这样的:
weather_data <- levels(weather_files$Town)
Weather_years <- levels(weather_files$year)
Weather_month <- levels(weather_files$month_year)
本质上,我想做的是选择城镇,然后选择年份和一个变量(第 5:9 列 - 然而这根本行不通),所以我现在选择了阳光列。然后绘制 X 轴上的 month_year 列与 Y 轴上的 Sunshine 列,颜色/按年份填充作为 id 希望您可以选择多个年份。希望这能让我清楚地知道我在做什么。提前致谢。
ui <- fluidPage(
titlePanel("Met Office Weather"),
sidebarLayout(
sidebarPanel(
selectInput(label = ("Select Data Set"),
inputId = "Town",
choices = weather_data,
multiple = TRUE),
selectInput(label = "Select Year",
inputId = "year",
choices = Weather_years,
multiple = TRUE),
#selectInput(inputId = "selection",
# label="Select Variable",
# choices = c("Sunshine"),
# multiple = FALSE),
actionButton(inputId = "go", label = "Plot Data")
),
# Show the generated plot
mainPanel(
tabsetPanel(
tabPanel("scatterplot", plotOutput("scatter")),
tabPanel("Barplot", plotOutput("barplot")),
tabPanel("The Data", dataTableOutput("table"))
)
)
)
)
server <- function(input, output) {
select_weatherdf <- reactive({
# gather info from user but only when asked
pick_town <- isolate(input$Town)
select_year <- isolate(input$year)
#choose_variable <- isolate(input$Sunshine)
# listen to go button
input$go
# select the correct town and year looking at sunshine variable only
weather_to_plot <- weather_files %>% filter(Town %in% pick_town, year %in% select_year)
#weather_to_plot <- weather_to_plot %>% select("Town", "year", "month_year", "Sunshine")
return(weather_to_plot)
})
output$scatter <- renderPlot({
data_to_plot <- select_weatherdf()
ggplot(data_to_plot, aes(x = month_year, y = Sunshine , fill = year)) +
geom_point(size = 2.5) +
scale_x_discrete(limits = month.name)
})
output$barplot <- renderPlot({
data_to_plot <- select_weatherdf()
ggplot(data_to_plot, aes(x = month_year, fill = year)) +
geom_bar() +
scale_x_discrete(limits = month.name)
})
output$table <- renderDataTable({
data_to_plot <- select_weatherdf()
})
}
# Run the application
shinyApp(ui = ui, server = server)
最佳答案
应用程序按预期工作,图中没有任何内容的原因是数据在 sunshine
col 中有一些 NA,并且输入的选择基于 levels
变量但不是它的 unique
值。所有这些结合起来将在 selectInput 中产生不会出现在图中的选择。而是尝试做:
weather_data <- unique(weather_files$Town)
Weather_years <- unique(weather_files$year)
Weather_month <- unique(weather_files$month_year)
这将缩小对数据集中观察到的数据的输入选择。
我们可以选择像这样创建响应式 select_weatherdf
:
select_weatherdf <- eventReactive(input$go, {
weather_files %>% filter(Town %in% input$Town, year %in% input$year) %>%
select("Town", "year", "month_year", "Sunshine")
#no need for a return statement here R will return the last value called from the function
})
关于r - 如何让我的数据正确呈现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72071908/
我正在从 Stata 迁移到 R(plm 包),以便进行面板模型计量经济学。在 Stata 中,面板模型(例如随机效应)通常报告组内、组间和整体 R 平方。 I have found plm 随机效应
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 6年前关闭。 Improve this qu
我想要求用户输入整数值列表。用户可以输入单个值或一组多个值,如 1 2 3(spcae 或逗号分隔)然后使用输入的数据进行进一步计算。 我正在使用下面的代码 EXP <- as.integer(rea
当 R 使用分类变量执行回归时,它实际上是虚拟编码。也就是说,省略了一个级别作为基础或引用,并且回归公式包括所有其他级别的虚拟变量。但是,R 选择了哪一个作为引用,以及我如何影响这个选择? 具有四个级
这个问题基本上是我之前问过的问题的延伸:How to only print (adjusted) R-squared of regression model? 我想建立一个线性回归模型来预测具有 15
我在一台安装了多个软件包的 Linux 计算机上安装了 R。现在我正在另一台 Linux 计算机上设置 R。从他们的存储库安装 R 很容易,但我将不得不使用 安装许多包 install.package
我正在阅读 Hadley 的高级 R 编程,当它讨论字符的内存大小时,它说: R has a global string pool. This means that each unique strin
我们可以将 Shiny 代码写在两个单独的文件中,"ui.R"和 "server.R" , 或者我们可以将两个模块写入一个文件 "app.R"并调用函数shinyApp() 这两种方法中的任何一种在性
我正在使用 R 通过 RGP 包进行遗传编程。环境创造了解决问题的功能。我想将这些函数保存在它们自己的 .R 源文件中。我这辈子都想不通怎么办。我尝试过的一种方法是: bf_str = print(b
假设我创建了一个函数“function.r”,在编辑该函数后我必须通过 source('function.r') 重新加载到我的全局环境中。无论如何,每次我进行编辑时,我是否可以避免将其重新加载到我的
例如,test.R 是一个单行文件: $ cat test.R # print('Hello, world!') 我们可以通过Rscript test.R 或R CMD BATCH test.R 来
我知道我可以使用 Rmd 来构建包插图,但想知道是否可以更具体地使用 R Notebooks 来制作包插图。如果是这样,我需要将 R Notebooks 编写为包小插图有什么不同吗?我正在使用最新版本
我正在考虑使用 R 包的共享库进行 R 的站点安装。 多台计算机将访问该库,以便每个人共享相同的设置。 问题是我注意到有时您无法更新包,因为另一个 R 实例正在锁定库。我不能要求每个人都关闭它的 R
我知道如何从命令行启动 R 并执行表达式(例如, R -e 'print("hello")' )或从文件中获取输入(例如, R -f filename.r )。但是,在这两种情况下,R 都会运行文件中
我正在尝试使我当前的项目可重现,因此我正在创建一个主文档(最终是一个 .rmd 文件),用于调用和执行其他几个文档。这样我自己和其他调查员只需要打开和运行一个文件。 当前设置分为三层:主文件、2 个读
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 5年前关闭。 Improve this qu
我的 R 包中有以下描述文件 Package: blah Title: What the Package Does (one line, title case) Version: 0.0.0.9000
有没有办法更有效地编写以下语句?accel 是一个数据框。 accel[[2]]<- accel[[2]]-weighted.mean(accel[[2]]) accel[[3]]<- accel[[
例如,在尝试安装 R 包时 curl作为 usethis 的依赖项: * installing *source* package ‘curl’ ... ** package ‘curl’ succes
我想将一些软件作为一个包共享,但我的一些脚本似乎并不能很自然地作为函数运行。例如,考虑以下代码块,其中“raw.df”是一个包含离散和连续类型变量的数据框。函数“count.unique”和“squa
我是一名优秀的程序员,十分优秀!