#r
#r
Вопрос:
fxrates <-rbind(fxrates,c("EODMRS","USD","M",1,1,"17-APR-2019",1))
Предупреждающее сообщение: В
[<-.factor
(*tmp*
, ri, значение = «USD») :
недопустимый уровень фактора, сгенерированный NA
Ребята, вы знаете, почему вторая ячейка (с долларами США) не генерируется?
Комментарии:
1. Измените
factor
столбцы наcharacter
, и все будет хорошо, т.е.i1 <- sapply(fxrates, isfactor); fxrates[i1] <- lapply(fxrates[i1], as.character)
Ответ №1:
Мы можем изменить factor
столбцы на character
и rbind
со list
значениями, поскольку типы могут быть разными и vector
(сконструированные с c
) могут хранить только один тип
i1 <- sapply(fxrates, is.factor)
fxrates[i1] <- lapply(fxrates[i1], as.character)
rbind(fxrates,list("EODMRS","USD","M",1,1,"17-APR-2019",1))
Комментарии:
1. Спасибо за вашу помощь, но все же у меня такая же ошибка с этой формулой :/
2. @KennyR Эта ошибка не должна возникать, потому что она преобразуется в
character
3. @KennyR Извините, произошла опечатка.
isfactor
должно бытьis.factor
4. @KennyR Спасибо, что указали на это. Я собирался протестировать его,
iris
а затем обнаружил опечатку
Ответ №2:
Как насчет использования add_row
в dplyr
пакете?
fxrates <- dplyr::add_row(
fxrates,
x1 = "EODMRS", x2 = "USD", x3 = "M", x4 = 1, x5 = 1, x6 = "17-APR-2019", x7 = 1)
)
Эти x1 … x7 следует заменить правильными именами столбцов.