Dealing with NaN when calculating means
27,880
You can also do
dat$C <- apply(dat,1,function(x) mean(na.omit(x)))
na.omit
is useful to know if you want to make a more complex function since na.omit
is from base R while na.rm
is an argument for certain functions.
Author by
melanopygus
Updated on July 09, 2022Comments
-
melanopygus almost 2 years
I want to create a new column that contains the average two other columns.
For example by original table (dat) looks like this:A B 1 1 NaN 2 3 2 3 2 5 4 4 4 5 6 NaN 6 5 3
I now want a column C that averages A and B, so I tried the following
dat$C<-(dat$A + $dat$B)/2
But what I get is this
A B C 1 1 NaN NaN 2 3 2 2.5 3 2 5 3.5 4 4 4 4 5 6 NaN NaN 6 5 3 4
When what I want is this
A B C 1 1 NaN 1 2 3 2 2.5 3 2 5 3.5 4 4 4 4 5 6 NaN 6 6 5 3 4
So how can I calculate this new mean value column while working around the missing values in my dataset?