Попробуйте это (вы можете выбрать столбцы в df
, здесь я исключил первый столбец):
df$C <- apply(df[,-1],1,function(x) length(which(!is.na(x))))
df
Date A B C
1 1990 NA NA 0
2 1991 1 NA 1
3 1992 2 2 2
4 1993 3 3 2
5 1994 4 NA 1
6 1995 5 3 2
7 1996 NA NA 0
8 1997 7 8 2
9 1998 8 2 2
10 1999 NA NA 0
11 2000 8 4 2
Некоторые данные:
df <- structure(list(Date = 1990:2000, A = c(NA, 1L, 2L, 3L, 4L, 5L,
NA, 7L, 8L, NA, 8L), B = c(NA, NA, 2L, 3L, NA, 3L, NA, 8L, 2L,
NA, 4L)), row.names = c(NA, -11L), class = "data.frame")
structure(list(Date = 1990:2000, A = c(NA, 1L, 2L, 3L, 4L, 5L,
NA, 7L, 8L, NA, 8L), B = c(NA, NA, 2L, 3L, NA, 3L, NA, 8L, 2L,
NA, 4L)), row.names = c(NA, -11L), class = "data.frame")