При использовании данных datatable номера сортируются, читаются слева направо, а не справа налево. Я также преобразовал его в числовой. Почему он это делает? См. * Номера Он делает то же самое со всеми столбцами.DataTable сортирует число, считывая слева направо в столбце
Вот пример: 950 должен быть первым, а не 96,67
Items RN.2015 RN.2016 Change.RN
London 30 59 **96.67**
Tokyo 2 21 **950**
Paris 2 21 950
Seoul 2 21 950
New York20 39 95
Orlando 18 35 94.44
Nice 3 31 **933.3**
код в реакционно:
library(dplyr)
fileInfo$RN <- as.numeric(as.character(fileInfo$RN))
perChange<-fileInfo %>%
group_by_(input$selCol) %>%
summarise(
RN.2015 = sum(RN[Year=="2015"]),
RN.2016 = sum(RN[Year=="2016"])
)%>%
mutate(
Change.RN = delt(RN.2015,RN.2016)
)
функция
delt <- function(x,y) {ifelse(is.finite((y-x)/x*100),paste0(formatC((y-x)/x*100),"%"),"")}
данные:
Data <- data.frame(
Items = c("London","Tokyo","Paris","Seoul","New York","Orlando","Nice"),
RN.2015 = c(30,2,2,2,20,18,3),
RN.2016 = c(59,21,21,21,39,35,31)
)
[Как сделать отличный пример воспроизводимого R?] (Http://stackoverflow.com/questions/5963269) – zx8754
Код и вложенные данные ввода текста не совпадают. – zx8754
спасибо за downvoting @ zx8754 – JamAndJammies