我试着计算每一个系数的NA列的数量。我将使用mtcars
数据框架使其更直观。
看一下数据,我想得到一些返回的信息,比如:
mpg count(NA_in_column_carb)
21.0 0
21.4 0
17.3 0
在SQL术语中,我首先要按mpg
对数据分组(在本例中,mpg将是一个因素),然后计算carb
列中每个组的NA
值的数量。
我试着使用dplyr编写一些东西,但是由于它没有产生正确的结果,而是产生了一个错误,所以被卡住了。
守则:
mtcars %>% group_by(mpg, carb) %>% select(mpg, n = n(is.na(carb)))
错误:
Error in n(is.na(carb)) : unused argument (is.na(carb))
发布于 2020-04-29 04:20:49
您可以使用sum
与is.na
:
library(dplyr)
mtcars %>% group_by(mpg) %>% summarise(n = sum(is.na(carb)))
基R中的等价性
aggregate
聚合(carb~mpg,mtcar,function(x) sum(is.na(x)))
tapply
)tapply(mtcar$carb,mtcar$mpg,function(x) sum(is.na(x))) )
和data.table
library(data.table)
setDT(mtcars)[, .(sum = sum(is.na(carb))), mpg]
发布于 2020-04-29 13:46:00
我们可以在rowsum
中使用base R
rowsum(+(is.na(mtcars$carb)), mtcars$mpg)
https://stackoverflow.com/questions/61501632
复制相似问题