R агрегатная функция неожиданная NA - PullRequest
1 голос
/ 02 мая 2019

Когда я использую функцию агрегирования для data.frame, которая содержит символьные и числовые столбцы, агрегат завершается ошибкой и возвращает только NA для всех. Как я могу решить это? Моей первой идеей было проверить класс значения, но он не сработал.

name <- rep(LETTERS[1:5],each=2)
feat <- paste0("Feat",name)
valuesA <- runif(10)*10
valuesB <- runif(10)*10

daf <- data.frame(ID=name,feature=feat,valueA=valuesA,valueB=valuesB, stringsAsFactors = FALSE)


 aggregate(.~ID, data=daf,FUN=mean)

 aggregate(.~ID, data=daf,FUN=function(x){
   if(is.character(x)){
     return(NA)
   }else{ return(mean(x))}
 })
...