Я только начинаю изучать R, поэтому извиняюсь, если это проще, чем я думаю, но я действительно пытаюсь найти ответ.Подсчет полных случаев по ID для нескольких переменных
Что я пытаюсь сделать, так это создать вектор с подсчетом полных случаев по идентификатору для нескольких переменных.
К примеру, в этом кадре данных:
ID<-c(1:5)
score.1<-c(1, 7, 3, 5, NA, 4, 6, 9, 11, NA)
score.2<-c(2, NA, 7, 6, NA, 5, NA, 7, 10, 1)
sample<-data.frame(ID, score.1, score.2)
ID score.1 score.2
1 1 2
2 7 NA
3 3 7
4 5 6
5 NA NA
1 4 5
2 6 NA
3 9 7
4 11 10
5 NA 1
Выход Я ищу что-то вроде:
ID Complete
1 4
2 2
3 4
4 4
5 1
Есть ли способ сделать это, что я не хватает? Я попробовал count (complete.cases (sample)) с plyr и sum (complete.cases()), но это не дает мне то, что я на самом деле хочу.
Любая помощь с этим оценивается.
Вы можете получить немного творчески ddply функции plyr и добраться до нужного результата. образец $ num_valid_score.1 <- ifelse (! Is.na (оценка 1), 1,0) образец $ num_valid_score.2 <- ifelse (! Is.na (оценка 2), 1,0) sample $ total_valid <- sample $ num_valid_score.1 + sample $ num_valid_score.2 ddply (sample, c ("ID"), суммировать, Complete = sum (total_valid)) – JJFord3