Несовместимые результаты с нормализацией в dplyr - PullRequest
0 голосов
/ 12 марта 2019

Я пытаюсь нормализовать ROE столбца с помощью этой функции нормализации

2*((PATORBIS$ROE-min(PATORBIS$ROE,na.rm = T))/
((max(PATORBIS$ROE,na.rm = T)-min(PATORBIS$ROE,na.rm = T))))-1

когда я запускаю функцию выше, это дает мне правильную нормализацию, тогда как при использовании ее с mutate из dplyr точно такая же функция дает неверные результаты.

Пример данных:

PATORBIS <- data.frame(Company=c("ACHAOGEN","ACHAOGEN","ACHAOGEN","ACHAOGEN"),year=as.numeric(c("2013","2014","2015","2016")),ROE=as.numeric(c("-170","-31.2","-62.8",NA)))



plot2 <- PATORBIS %>% 
  select("Company","year","ROE") %>% 
  filter(!is.na(ROE)) %>% 
  mutate(ROE=2*(ROE-min(ROE,na.rm = T))/(max(ROE,na.rm = T)-min(ROE,na.rm = T))-1)

Есть ли у кого-нибудь похожая проблема несовместимых результатов с мутацией в dplyr?

1 Ответ

0 голосов
/ 12 марта 2019

Я получил те же результаты, точно так же, удалив фильтр (и выбор не требуется)

library(dplyr)

PATORBIS <- data.frame(Company=c("ACHAOGEN","ACHAOGEN","ACHAOGEN","ACHAOGEN"),year=as.numeric(c("2013","2014","2015","2016")),ROE=as.numeric(c("-170","-31.2","-62.8",NA)))


plot2 <- PATORBIS %>% 
#  select("Company","year","ROE") %>% 
#  filter(!is.na(ROE)) %>% 
  mutate(ROE=2*(ROE-min(ROE,na.rm = T))/(max(ROE,na.rm = T)-min(ROE,na.rm = T))-1)

plot2

2*((PATORBIS$ROE-min(PATORBIS$ROE,na.rm = T))/
     ((max(PATORBIS$ROE,na.rm = T)-min(PATORBIS$ROE,na.rm = T))))-1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...