您还没有指定什么你想要的平均值为-1.20 + NaN。它可能是-1.2或NaN。要得到它也不难。
如果你想的意思是(-1.2,NAN)= -1.2,使用
DO = (y1 + y2)/2
DO[is.na(y1)] = y2[is.na(y1)]
DO[is.na(y2)] = y1[is.na(y2)]
DO
[,1] [,2] [,3]
[1,] -0.9094480 0.1213812 -0.152905201
[2,] -1.2058566 -0.4537133 0.437414704
[3,] -0.2566812 -0.8607652 0.003213122
如果你想的意思是(-1.2,NAN)= NaN时,使用
DO = (y1 + y2)/2
DO[!is.nan(y1) & is.na(y1)] = y2[!is.nan(y1) & is.na(y1)]
DO[!is.nan(y2) & is.na(y2)] = y1[!is.nan(y2) & is.na(y2)]
DO
[,1] [,2] [,3]
[1,] -0.9094480 0.1213812 -0.152905201
[2,] NaN -0.4537133 0.437414704
[3,] -0.2566812 -0.8607652 0.003213122
来源
2017-02-19 22:10:22
G5W
你有什么预期输出?它会有NA和NaN。为什么(y1 + y2)/ 2不适合你? – cderv