Вот тот, который работает.
row_mean2 <- function(x, removeNA = TRUE){
means = list()
for(i in 1:nrow(x)){
means[i] <- mean(as.numeric(x[i,]), na.rm = removeNA)
}
unlist(means)
}
row_mean2(airquality[,1:3])
Edit
Ваш был очень близок. Причина, по которой ваш не работал, заключалась в том, что x[i,]
не обрабатывался как numeri c. Вот рабочая версия вашей функции, где x[i,]
обрабатывается как numeri c.
row_mean<-function(x,removeNA=TRUE){
## determining number of rows
nr<-nrow(x)
## initiate an empty vector
means<-numeric(nr)
for (i in 1:nr){
means[i]<-mean(as.numeric(x[i,]),na.rm = removeNA)
}
means
}
row_mean(airquality[,1:3])