Как суммировать строки в фрейме данных, если наблюдения НЕ являются АН? - PullRequest
0 голосов
/ 11 мая 2019

У меня есть фрейм данных, который содержит данные о 100 участниках, и я хочу рассчитать итоговые баллы каждого участника.У некоторых участников данные полностью отсутствуют, однако я все же хочу, чтобы их общий балл был NA, Total = NA.Что касается участников, которые имеют некоторые / частичные NA, я хочу суммировать все оценки, которые НЕ имеют NA.Другими словами, я хочу вычислить сумму каждой строки без вычисления NA.Когда я использовал rowSums(df[2:10], rm.na = T), функция вычисляет строки, но дает 0 для тех, у кого данные полностью отсутствуют.В любом случае можно рассчитать общие баллы каждого участника, не удаляя NA, а также назначить «NA» в качестве общего балла для полностью отсутствующих данных?Заранее спасибо.

1 Ответ

2 голосов
/ 11 мая 2019

Просто используйте apply и укажите функцию, которая делает именно то, что вы хотите - надеюсь, это поможет:

apply(data,1,function(x){
    if(sum(is.na(x))==ncol(data)){
      return(NA)
    }else{
      return(sum(x,na.rm=T))
}})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...