Я начинаю учиться в R и пробую себя в написании функции R. Функция, которую я написал, как этоДать свою собственную функцию
male <- c(1:10)
female <- c(11:20)
msum <- function(h,j) {
for(i in 1:length(h)){
e <- c()
e[i] = h[i] + j[i]
i = i+1
}
e
}
теперь, когда я вызвать функцию p <- msum(male, female)
, я смотрю на выход в качестве вектора длины 10 с результатом в сумме мужских и женских векторов, но что я получаю является вектор длины 10 с NA
как значение в первых 9 позициях и 30 как последнее значение вектора. Где я иду не так?
Это обзорный вопрос. Вы определили 'e' внутри цикла for, но использовали его вне цикла –
Вам также не нужно увеличивать' i', поэтому удалите строку 'i = i + 1' –
Кроме того, это может быть очень запутанной практикой для обозначения функций то же, что и базовые функции R ('sum' уже существует). – r2evans