Функции R head()
и top_n
удаляют десятичные дроби из двух моих числовых столбцов, и я не могу понять, почему?
Я использую R 3.4.4 с RStudio 1.2.5 и dplyr
.У меня есть набор данных с 4 числовыми столбцами наряду с четырьмя другими типами столбцов.Я пытаюсь получить первые десять строк из этого набора данных, используя простую головку (10), например,
Top_Ten_Drug_Subclass %>%
head(10)
Один из десятичных числовых столбцов удаляется.Для ex - вместо 25.63 он показывает 25. Во втором столбце отображается только 1 десятичный знак (ex - 25.6), в то время как другие два показывают две десятичные точки после числа, что мне и нужно.Я просто очень запутался, почему бы функция head () или top_n () изменила форматы.Возможно, объяснение приведенного ниже кода поможет разгадать эту загадку.Если я просто запускаю приведенный ниже код через "ungroup ()", это дает мне правильное форматирование для столбца allow_amount.Как только я использую head () или top_n (), форматирование для Allowed_Amount возвращается как целое число, однако базовый тип по-прежнему числовой / двойной.Это странно.
All_Rx_Data_201907 %>%
filter(PLAN_ID %like% 'xxxxx' & `MONTH/YEAR` == '062019') %>%
inner_join(MemCountPerDrugClass, by = "DRUG_SUBCLASS") %>%
select(`MONTH/YEAR`, DRUG_SUBCLASS, DRUG_SUBCLASS_NAME, SCRIP_COUNT, ALLOWED_AMOUNT, PAID_AMOUNT, MEMBER_NUM) %>%
group_by(`MONTH/YEAR`, DRUG_SUBCLASS, DRUG_SUBCLASS_NAME, MEMBER_NUM) %>%
summarise(SCRIP_COUNT = sum(SCRIP_COUNT), ALLOWED_AMOUNT = sum(ALLOWED_AMOUNT), PAID_AMOUNT = sum(PAID_AMOUNT)) %>%
mutate(Allowed_Cost_Per_Member = round((ALLOWED_AMOUNT/MEMBER_NUM), 2)
, Allowed_Cost_Per_Script = round((ALLOWED_AMOUNT/SCRIP_COUNT), 2)) %>%
arrange(desc(ALLOWED_AMOUNT)) %>%
ungroup() %>%
top_n(10, ALLOWED_AMOUNT) %>%
arrange(desc(Allowed_Cost_Per_Script))
Кто-нибудь сталкивался с такой проблемой?Спасибо!