r中不包括NA的列长度

Ay_*_*y_M 8 r

假设我有data.frame如下:

   a  b c
1  5 NA 6
2 NA NA 7
3  6  5 8
Run Code Online (Sandbox Code Playgroud)

我想找到每列的长度,不包括NA.答案应该是这样的

a b c 
2 1 3 
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经尝试过:

 !is.na()                  # Gives TRUE/FALSE
 length(!is.na())          # 9 -> Length of the whole matrix
 dim(!is.na())             # 3 x 3 -> dimension of a matrix
 na.omit()                 # removes rows with any NA in it.
Run Code Online (Sandbox Code Playgroud)

请告诉我如何获得所需的答案.

ags*_*udy 10

或更快:

colSums(!is.na(dat))
a b c 
2 1 3 
Run Code Online (Sandbox Code Playgroud)


Dan*_*iel 5

虽然 sum 可能是一个更快的解决方案,但我认为这length(x[!is.na(x)])更具可读性。