gpt4 book ai didi

r - 警告 : Factor contains implicit NA

转载 作者:行者123 更新时间:2023-12-05 09:14:05 27 4
gpt4 key购买 nike

我是 R 和 Shiny 的新手,我正在尝试使用 ggplot2 创建交互式绘图。当用户选中复选框时,他可以访问多选字段来自定义绘图。

原始数据框包含在 PublisherYear 列中标识为 "N/A" 的缺失值。我用 complete.cases 删除了包含 NA 的行,所以它不应该留下任何 NA。

我运行我的应用程序:好的。我进入默认情节:好的。我选中复选框:Warning: Factor 'Publisher' contains implicit NA, consider using 'forcats::fct_explicit_na'

我想删除这个警告,至少理解它。如果您有任何其他评论,请发表评论:我的目标是变得更好。

应用.R:

df<-read.csv("vgsales.csv")
df$Year[df$Year=="N/A"]<-NA
df$Year<-factor(df$Year)
df$Publisher[df$Publisher=="N/A"]<-NA
df$Publisher<-factor(df$Publisher)
df<-df[complete.cases(df),]

pubSales<-na.omit(df
%>% group_by(Publisher, Year)
%>% summarise(Global_Sales=sum(Global_Sales))
)
pubSales<-pubSales[order(pubSales$Year),]

top5Pub<-head(unique(pubSales[order(-pubSales$Global_Sales),]$Publisher),5)

ui <- navbarPage("Video Games Sales",
tabPanel("Publishers",
mainPanel(
titlePanel(
title = "Publishers sales"
),
sidebarPanel(
radioButtons(
"pubOptions",
"Options",
c("Top 5 Publishers"="topFivePub",
"Custom Publishers"="customPub"),
selected="topFivePub"
),
uiOutput("customPubUI")
),
mainPanel(
plotOutput("pubPlot")
),
width=12
)
)
)

server <- function(input, output, session) {

output$customPubUI<-renderUI({
if(input$pubOptions=="customPub"){
selectInput(
"selectedPub",
"Editeurs",
pubSales$Publisher,
multiple=TRUE
)
}
})

output$pubSales<-renderTable(pubSales)
output$pubPlot<-renderPlot({
ggplot()+
if(input$pubOptions=="customPub"){
geom_line(
data=pubSales[pubSales$Publisher %in% input$selectedPub,],
aes(x=Year,y=Global_Sales,colour=Publisher,group=Publisher)
)
}else{
geom_line(
data=pubSales[pubSales$Publisher %in% top5Pub,],
aes(x=Year,y=Global_Sales,colour=Publisher,group=Publisher)
)
}
})

}

shinyApp(ui, server)

最佳答案

弹出警告是因为 NA 不是因子中的水平。它只是不见了。该警告提醒您该因子中存在一个“隐藏”级别,当您对该因子执行操作时不会显示该级别。

比如一个基本因素:

a.factor <- as.factor(c('a', 'b', 'c', NA))

当我们打印它或在快速表格中汇总时只有 3 个级别:

> print(a.factor)
[1] a b c <NA>
Levels: a b c

> table(a.factor)
a.factor
a b c
1 1 1

关于r - 警告 : Factor contains implicit NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54999758/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com