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)) })