Пытаясь сделать мою проблему воспроизводимой, у меня есть следующий вектор:
trialvector <- as.vector(c("K", "K", "m", "m", "K"))
И эта функция пытается преобразовать этот вектор в тот, который преобразует «K» в числовое значение 3 и «m» в числовое значение 6, я хочу присвоить этот вектор переменной с именем multiplier
:
Expcalc <- function(vector) {
multiplier <<- vector(mode = "numeric", length = length(vector))
for (i in seq_along(vector)) {
if (vector[i] == "K") {
multiplier[i] <- 3
} else if (vector[i] == "M" | i == "m") {
multiplier[i] <- 6
} else {
multiplier[i] <- 0
}
}
}
Вместо того, чтобы получить желаемый вывод (вектор из 6 и / или 3 в зависимости от того, какой символ был в trialvector
, я получаю вектор, полный нулей. И эта ошибка:
Предупреждающие сообщения:
1: В Expcalc (trialvector): НС вводятся с помощью принуждения
2: В Expcalc (триал-вектор): АН введены путем принуждения
Что я делаю не так?