Доля NA для столбцов по переменной ID

У меня есть набор данных, как это:

df <- data.frame(id = c("a", "b", "c", "a", "b", "c", "a", "b"),
                 v1 = c(NA, 0.3, 0.2, 0.1, 0.2, 0.3, 0.2, NA),
                 v2 = c(rnorm(7), NA),
                 v3 = c(NA, rnorm(7)))

> df
  id  v1          v2          v3
1  a  NA  0.82122120          NA
2  b 0.3  0.59390132 -0.05612874
3  c 0.2  0.91897737 -0.15579551
4  a 0.1  0.78213630 -1.47075238
5  b 0.2  0.07456498 -0.47815006
6  c 0.3 -1.98935170  0.41794156
7  a 0.2  0.61982575  1.35867955
8  b  NA          NA -0.10278773

Теперь я хочу измерить долю пропущенных по столбцам v1, v2, v3, id переменная идентификатора Должны быть новые переменные с такими именами, как в df но с добавленным "_mis".

Важно то, что я хочу сделать это для конкретного идентификатора.

Если бы не было переменной id, это было бы так:

a <- colMeans(is.na(df))
names(a) <- paste(names(a), "_mis", sep="")

Как я могу сделать это для каждого идентификатора в отдельности? Я хочу создать имена переменных автоматически, например, "v2_mis_a" для id==a.

0 ответов

Другие вопросы по тегам