I have a data frame with two columns. When I try to calculate
mean, I get this message:
 NA Warning message: In mean.default(results) : argument is not numeric or logical: returning NA`
where ‘results’ is my data set. Any advice on getting around this problem?
From R 3.0.0 onwards
mean(<data.frame>) is defunct (and passing a data.frame to
mean will give the error you state)
A data frame is a list of variables of the same number of rows with unique row names, given class “data.frame”.
In your case, result has two variables (if your description is correct) . You could obtain the column means by using any of the following
lapply(results, mean, na.rm = TRUE) sapply(results, mean, na.rm = TRUE) colMeans(results, na.rm = TRUE)
If you just want to know the mean, you can use
It will give you more information than expected.
ex) Mininum value, 1st Qu., Median, Mean, 3rd Qu. Maxinum value, number of NAs.
Furthermore, If you want to get mean values of each column, you can simply use the method below.
mean(results$columnName, na.rm = TRUE)
That will return mean value. (you have to change ‘columnName’ to your variable name