Может кто-нибудь объяснить, почему этот код не работает?Я хочу, чтобы символьный вектор nums
выводил "4.4" "" 5.0 ", но я получаю сообщение об ошибке.Кое-что о do.call()
.
В дополнение к знанию, почему это происходит, кто-то может предоставить более простой способ превратить «5» в «5,0», но оставить другие числа такими, какие они есть.Пожалуйста, имейте в виду, что у меня на самом деле много чисел, поэтому что-то вроде nums[3] <- "5.0"
не будет полезным.
y <- 0
nums <- c("4.4", "", "5")
for(x in nums){
y <- 0 + 1
if(nchar(x) == 1){
nums[y] <- paste(x, ".0", sep = "")
}else{}
}
При выполнении кода выше я получаю следующее сообщение об ошибке:
Ошибка в do.call (base :: call, c (name = "{", else_lines),quote = TRUE): второй аргумент должен быть списком