Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 按组查找多列中的NA数_R_Dataframe - Fatal编程技术网

R 按组查找多列中的NA数

R 按组查找多列中的NA数,r,dataframe,R,Dataframe,我有一个关于不同城市和不同运动队的数据集: **City** **Basketball** **Soccer** **Tennis** **Football** AA Titans Astros Royals Eagles AA Crimson NA Falcons Packers AA NA

我有一个关于不同城市和不同运动队的数据集:

**City**    **Basketball**  **Soccer**    **Tennis**    **Football**
   AA         Titans          Astros       Royals         Eagles
   AA         Crimson           NA         Falcons        Packers
   AA           NA            Phoenix      Tigers           NA
   AA         Goblins           NA         Lions            NA
   BB           NA              NA           NA             NA
   BB         Bears           Rockets      Broncos          NA
   CC         Pelicans        Wildfires    Panthers         NA
   CC           NA            Bobcats      Blizzard         NA
   CC           NA              NA         Tornadoes        NA
   CC           NA              NA         Hurricanes       NA
我想按城市对数据进行分组,并找到每个城市每列N的NAs总数。我该怎么做呢?在做了一些研究之后,我试过这个

aggregate(df[,2:4], by=list(df$City), colSums(is.na(df)))

但它不起作用

R基地是你的敌人

数据。表
更友好:

library(data.table)
setDT(df) # <- convert to data.table
# going column-by-column, count NA
df[ , lapply(.SD, function(x) sum(is.na(x))), by = City]
库(data.table)

基地R是你的敌人

数据。表
更友好:

library(data.table)
setDT(df) # <- convert to data.table
# going column-by-column, count NA
df[ , lapply(.SD, function(x) sum(is.na(x))), by = City]
库(data.table)

setDT(df)#您的
聚合
语法有点不正确。使用正确的自定义匿名函数,它应该可以工作:

aggregate(df[,2:4], by=list(df$City), FUN=function(x) { sum(is.na(x)) })

您的
聚合
语法有点不正确。使用正确的自定义匿名函数,它应该可以工作:

aggregate(df[,2:4], by=list(df$City), FUN=function(x) { sum(is.na(x)) })