2014-02-11 1 views
-1

Я новичок в R, работая над данными о качестве воды. PLease оправдывает мои ошибки в форматировании. Я пытаюсь запустить «nls» в моем наборе данных. Запуск сценария:Доступ к столбцам df неправильным образом приводит к пустым векторам, «без пропущенных аргументов до min/max, возвращающих Inf/-Inf»

testingQModel<-nls(GR ~ GRm * (1-Kq/Q), data = testingQ, start = list(Kq = min(testingQ$Q), GRm = max(testingQ$GR))) 

Я получаю следующее сообщение об ошибке:

Предупреждающие сообщения: 1: В мин (х): нет, не пропущенные аргументы не в мин; return Inf 2: В max (x): отсутствие непустых аргументов до max; return -Inf

В наборе данных нет NA и все числовые. Я побежал range(testingQ, na.rm = TRUE) также с range(testingQ, na.rm = FALSE), чтобы дать ему попробовать в любом случае, и он вернул максимальные и минимальные значения в наборе данных. Я не уверен, что еще попробовать. Посмотрите вперед к решению от кого-то! Благодарю.

+0

Попробуйте 'range (testingQ $ Q)' и 'range (testingQ $ GR)', чтобы увидеть, все ли вы получаете max и min, которые не являются 'Inf' для ваших значений' start = '. Я подозреваю, что в этом проблема. – thelatemail

+1

Является ли 'testingQ' рамкой данных? – jlhoward

+0

Да, 'testingQ' - это кадр данных, состоящий из двух столбцов Q и GR. Запустите скрипт 'range (testingQ $ Q)' и 'range (testingQ $ GR)', оба возвращают '[1] Inf -Inf'. Я понятия не имею, почему это так. Я предположил, что он вернет значения max и min в соответствующих столбцах. Я попытался подключить начальные значения для 'GRm' и' Kq', а не 'testingQ $ GR' и т. Д., Но он возвратил те же предупреждения. Это два параметра, которые я пытаюсь рассчитать значения. Я был бы признателен за помощь! – Learner

ответ

1

Суммируя то, что вы уже, кажется, решены, и написали в комментариях:

  • вопрос не имеет ничего общего с ШПС или максимальной
  • проблемой была из-за плохой доступ к колонку dataframe, либо плохо синтаксис, иначе вы затеняли определения Q, GR, определяя переменные с этими именами.
  • это дало вам пустой вектор, который заставляет max возвращать Inf/-Inf
  • Решение должно было исправить доступ к столбцу или не определяйте оскорбительные переменные затенения

Мой совет: сводка, макс и мин - это боль в R, так как они не обрабатывают ни NA, ни полностью пустые входы. Таким образом, всегда проверяйте их входной вектор, чтобы дважды проверить его на предмет здравомыслия, или назначьте их ввод переменной и проверьте это.

+0

Да, проблема связана с неправильным определением Q и GR.Доступ к столбцам напрямую, вызвав 'testingQ $ xyz', решил проблему. – Learner

+0

@Learner: просьба либо написать ответ, либо принять его, либо принять это. Хорошо закрыть цикл ради других людей. (Вчера я пытался решить аналогичную проблему) – smci

+0

Вчера я принял ваш ответ. – Learner