I am trying to make a function in R that calculates the mean of nitrate, sulfate and ID. My original dataframe have 4 columns (date,nitrate, sulfulfate,ID). So I designed the next code
prueba<-read.csv("C:/Users/User/Desktop/coursera/001.csv",header=T)
columnmean<-function(y, removeNA=TRUE){ #y will be a matrix
    whichnumeric<-sapply(y, is.numeric)#which columns are numeric
    onlynumeric<-y[ , whichnumeric] #selecting just the numeric columns
    nc<-ncol(onlynumeric) #lenght of onlynumeric
    means<-numeric(nc)#empty vector for the means
        for(i in 1:nc){
            means[i]<-mean(onlynumeric[,i], na.rm = TRUE) 
        }
}
columnmean(prueba)
When I run my data without using the function(), but I use row by row with my data it will give me the mean values. Nevertheless if I try to use the function so it will make all the steps by itself, it wont mark me error but it also won't compute any value, as in my environment the dataframe 'prueba' and the columnmean function
what am I doing wrong?
 
     
     
     
    