首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从R中的惰性查询中删除NA

如何从R中的惰性查询中删除NA
EN

Stack Overflow用户
提问于 2022-05-20 23:44:13
回答 1查看 58关注 0票数 0

我需要关于这个数据库https://www.kaggle.com/datasets/hugomathien/soccer的帮助,我想找出有多少玩家是右脚的,有多少是左脚的,使用数据库表player_attributes的列preferred_foot,并使用: group_by和dplyr的汇总。当我在r中运行这个时:

代码语言:javascript
复制
con <- DBI::dbConnect(RSQLite::SQLite(), "data/database.sqlite")
library(tidyverse)
library(DBI)
player_attributes<-tbl(con,"Player_Attributes")
Table_preferred_foot<- player_attributes %>%
  group_by(preferred_foot) %>%
  summarize(number_of_players=count(preferred_foot))
head(Table_preferred_foot)

我得到了右脚和左脚球员的数量,我也得到了NA的数目是0。但如果我跑了

代码语言:javascript
复制
player_attributes %>%
  group_by(preferred_foot) %>%
  count()

我得到了右脚和左脚球员的数量(和以前一样),但我得到NA的数目是836,这是NA的真实数量。如何使用汇总和group_by得到正确的答案?

此外,是否有一个直接函数来检查惰性查询的变量中是否存在NA,并从惰性查询的变量(如常规数据帧)中删除NA??(像na.omit()这样的基本函数不起作用)

EN

回答 1

Stack Overflow用户

发布于 2022-05-21 10:15:43

您可以在每个代码段1中使用group_bysummariseCount将其合并成每段2的一行,并且可以将每个片段3中的NAs计算出来。

代码语言:javascript
复制
library(tidyverse)

con <- DBI::dbConnect(RSQLite::SQLite(), "database.sqlite")

tbl(con, "Player_Attributes") %>%
  group_by(preferred_foot) %>%
  summarise(n = n())

tbl(con, "Player_Attributes") %>%
  count(preferred_foot)

tbl(con, "Player_Attributes") %>%
  filter(!is.na(preferred_foot)) %>%
  count(preferred_foot)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72325671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档