r - 阻止表格添加小数位
问题描述
我试图在 R 中使用 Shiny 显示频率表,但由于某种原因,它坚持将频率显示到小数点后两位。我试过使用round(),但这没有任何影响。我猜这可能与合并有关,因为当我备份并仅显示频率表时,显示的频率没有不必要的小数位......但我不确定哪个确切部分导致了问题,这就是为什么我在这个例子中包含了我对代码所做的几乎所有的争论。您需要搜索其中一种水果(例如苹果)才能显示表格并了解我的意思。
谢谢你的帮助!
library("shiny")
library("shinydashboard")
fruit <- as.character(c("apple", "pineapple",
"orange", "watermelon", "apple",
"grape", "orange", "apple", "grape"))
fruit_type <- as.character(c("apple", "pineapple", "orange", "watermelon", "grape", "banana", "coconut"))
fruit_rating <- 1:7
fruit_info <- data.frame(fruit_type, fruit_rating, stringsAsFactors = F)
sidebar <- dashboardSidebar(searchInput("search",
btnSearch = icon("search"),
btnReset = icon("remove")))
body <- dashboardBody(tableOutput("table"))
ui <- dashboardPage(dashboardHeader(title = "Example"),
sidebar,
body
)
server <- function(input, output) {
output$table <- renderTable({
fruit_query <- input$search
fruit_count <- plyr::count(fruit)
colnames(fruit_count)[1] <- "fruit_type"
fruit_count$fruit_type <- as.character(fruit_count$fruit_type)
fruit_count <- merge(fruit_count, fruit_info,
by = "fruit_type", all = T)
fruit_count$freq <- ifelse(is.na(fruit_count$freq),
0, fruit_count$freq)
searched_fruit <- fruit_count[fruit_count$fruit_type == fruit_query,]
searched_fruit$freq <- round(searched_fruit$freq)
return(searched_fruit)
})
}
shinyApp(ui, server)
解决方案
你快到了,只需替换:
searched_fruit$freq <- round(searched_fruit$freq)
和
searched_fruit$freq <- as.integer(searched_fruit$freq)
另一种方法是使用renderTable
sdigits
参数来更改其在数字列上的默认行为,如下所示:
server <- function(input, output) {
output$table <- renderTable({
fruit_query <- input$search
fruit_count <- plyr::count(fruit)
colnames(fruit_count)[1] <- "fruit_type"
fruit_count$fruit_type <- as.character(fruit_count$fruit_type)
fruit_count <- merge(fruit_count, fruit_info,
by = "fruit_type", all = T)
fruit_count$freq <- ifelse(is.na(fruit_count$freq),
0, fruit_count$freq)
searched_fruit <- fruit_count[fruit_count$fruit_type == fruit_query,]
}, digits = 0)
}
推荐阅读
- android - Android OrientationEventListener SensorManager.SENSOR_DELAY_NORMAL 必要性
- reactjs - React native {something} 不是函数
- javascript - 在 Heroku 上部署节点应用程序时出现问题 - 构建成功,但返回错误:找不到模块“请求”
- javascript - 用 Jest 如何正确地模拟/测试构造函数
- prolog - Prolog - 值范围列表,不包括范围
- python-3.x - 使用请求与本地读取的显着字节差异
- plot - Clojure Oz/查看!未连接到浏览器
- java - 错误 AWS Lambda java 处理程序请求 JSON 解析 utf 8 事件
- mysql - 计算 2 Cols 相同的表不同的地方标准?
- ocaml - 如何在 Ocaml 中的另一个函数中打印一个函数的返回值?