Я закодирован функцию, которая преобразует атомный символ с атомным номером ...Для Loop One Too Long
AtomicNo <- function(x) {
y <- NULL
for (i in seq(along=x)) {
if (x[i] == "H") y[i] <- 1.0 else
if (x[i] == "C") y[i] <- 6.0 else
if (x[i] == "O") y[i] <- 8.0 else
if (x[i] == "Fe") y[i] <- 26.0 else
if (x[i] == "Br") y[i] <- 35.0
y <- append(y,y[i])
}
return(y)
}
Для вектора
a <- c("Fe", "Br", "O", "O", "C", "H", "H", "H", "C", "H", "H", "H",
"C", "H", "H", "H", "C", "H", "H", "H")
AtomicNo (а) дает
26 35 8 8 6 1 1 1 6 1 1 1 6 1 1 1 6 1 1 1 1
То есть, в конце вектора есть лишний 1, должно быть только три 1 с, а не четыре.
Может ли кто-нибудь увидеть, где я ошибаюсь?
спасибо, отсортировано. Будет тикать через десять минут @CactusWoman – user1945827