Plyr arrange() 仅排序 1 个变量
Plyr arrange() sorts only 1 variable
Objective:使用 plyr 包中的 arrange() 独立地按 2 个变量的降序对数据帧进行排序
dd <- data.frame(b = factor(c("Hi", "Med", "Hi", "Low"),
levels = c("Low", "Med", "Hi"), ordered = TRUE),
x = c("A", "D", "A", "C"), y = c(8, 3, 9, 9),
z = c(1, 1, 1, 2))
arrange(dd, desc(y),desc(z))
产生 objective:
b x y z
1 Low C 9 2
2 Hi A 9 1
3 Hi A 8 1
4 Med D 3 1
然而,当对感兴趣的实际数据帧使用相同的语法时 (ddin),
arrange() 一次只对 1 个变量进行排序,而另一个未排序。
关于 ddin 的一些细节:大数据帧。第一个操作是子集只保留 3 个变量:
ddin_sub <- select(ddin, var1, var2, var3)
ddin_sub <- arrange(ddin_sub, desc(var2), desc(var3))
var2, var3: 数字
有没有想过问题出在哪里?谢谢。
如果需要单独对列进行排序,
library(dplyr)
mutate_each(d1, funs(sort(., decreasing=TRUE)))
数据
d1 <- data.frame(y = c(8, 2, 9, 9), z=c(3, 5, 2, 1))
Objective:使用 plyr 包中的 arrange() 独立地按 2 个变量的降序对数据帧进行排序
dd <- data.frame(b = factor(c("Hi", "Med", "Hi", "Low"),
levels = c("Low", "Med", "Hi"), ordered = TRUE),
x = c("A", "D", "A", "C"), y = c(8, 3, 9, 9),
z = c(1, 1, 1, 2))
arrange(dd, desc(y),desc(z))
产生 objective:
b x y z
1 Low C 9 2
2 Hi A 9 1
3 Hi A 8 1
4 Med D 3 1
然而,当对感兴趣的实际数据帧使用相同的语法时 (ddin), arrange() 一次只对 1 个变量进行排序,而另一个未排序。
关于 ddin 的一些细节:大数据帧。第一个操作是子集只保留 3 个变量:
ddin_sub <- select(ddin, var1, var2, var3)
ddin_sub <- arrange(ddin_sub, desc(var2), desc(var3))
var2, var3: 数字
有没有想过问题出在哪里?谢谢。
如果需要单独对列进行排序,
library(dplyr)
mutate_each(d1, funs(sort(., decreasing=TRUE)))
数据
d1 <- data.frame(y = c(8, 2, 9, 9), z=c(3, 5, 2, 1))