Я хотел бы получить среднее значение для определенных столбцов для каждой строки.
У меня есть следующие данные:
w=c(5,6,7,8)
x=c(1,2,3,4)
y=c(1,2,3)
length(y)=4
z=data.frame(w,x,y)
Что возвращает:
w x y
1 5 1 1
2 6 2 2
3 7 3 3
4 8 4 NA
Я хотел бы получить среднее значение для определенных столбцов, а не для всех. Моя проблема в том, что в моих данных много НС. Поэтому, если бы я хотел иметь среднее значение x и y, это то, что я хотел бы получить назад:
w x y mean
1 5 1 1 1
2 6 2 2 2
3 7 3 3 3
4 8 4 NA 4
Я думаю, я мог бы сделать что-то вроде z$mean=(z$x+z$y)/2
но последняя строка для y равна NA, поэтому, очевидно, я не хочу, чтобы NA вычислялся, и я не должен делиться на два. Я пробовал cumsum
но это возвращает NA, когда в этой строке есть один NA. Я предполагаю, что я ищу что-то, что добавит выбранные столбцы, проигнорирует NA, получит количество выбранных столбцов, у которых нет NA, и разделите их на этот номер. Я пробовал - средний и средний, и я полностью в тупике.
ETA: Есть ли способ добавить вес к определенному столбцу?