Функция max () в R дает неправильный вывод - PullRequest
0 голосов
/ 04 мая 2020

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

Я создал фрейм данных с именами haemas c со столбцами «Длина волны» и «Абсорбция» и хотел знать, где было мое пиковое значение для абсорбции, поэтому я написал это :

haemasc[which(haem$Absorbance==max(haem$Absorbance)),]

, что дает мне следующий вывод:

        Wavelength   Absorbance
109            408        1.647

, что просто неправильно, я проверил вручную, и пик находится в строке 110 на длине волны 409 со значением 1.653 (см. прилагаемое изображение) 1

, что любопытно, он работал для других исследуемых мной фреймов, а также для моих фиктивных данных, поэтому я действительно понятия не имею, что пошло не так.

1 Ответ

2 голосов
/ 04 мая 2020

Не могли бы вы проверить, какая строка max(haem$Absorbance) сама возвращает? Не могли бы вы попробовать sort(haem$Absorbance, decreasing=TRUE) и посмотреть заказ? Для вашей проблемы вы также можете использовать which.max для возврата индекса максимального значения.

Наконец - в то время как which(haem$Absorbance==max(haem$Absorbance)) возвращает индекс максимального значения haem$Absorbance, вы ищите этот индекс в другом data.frame , haemasc.

Что ж, сегодня понедельник, и мы все были там. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...