Когда я использую функцию агрегирования для 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))}
})