Атрибут() в dplyr производит неверный результат.Сортировка в dplyr производит неправильный вывод
library(dplyr)
x <- as.data.frame(cbind(name=c("A","B","C","D"), val=c(0.032, 0.077, 0.4, 0.0001)))
x.1 <- x %>% arrange(val)
x.2 <- x %>% arrange(desc(val))
Выходы:
name val
1 A 0.032
2 B 0.077
3 C 0.4
4 D 1e-04
>x.1
name val
1 A 0.032
2 B 0.077
3 C 0.4
4 D 1e-04
> x.2
name val
1 D 1e-04
2 C 0.4
3 B 0.077
4 A 0.032
Оба восходящие и нисходящие порядок сортировки производить неправильный вывод. Не знаете, что я здесь делаю неправильно? Спасибо.
'as.data.frame (cbind())' это то, что вы там делаете неправильно. Все преобразуется в символ в 'cbind()', а затем учитывается в 'as.data.frame()'. Используйте 'data.frame()' для создания кадров данных, поэтому он есть. –
Когда вы сталкиваетесь с такими проблемами, хорошей практикой было бы использование 'str' для проверки классов ваших переменных. В настоящее время ваши переменные являются факторами из-за упомянутой выше причины. – Sumedh
@RichardScriven. Это случается много раз с ответами, которые я публикую. – akrun