基于列中的最大值排序列-R数据帧排列
我有以下数据帧:基于列中的最大值排序列-R数据帧排列,r,dataframe,sorting,multiple-columns,R,Dataframe,Sorting,Multiple Columns,我有以下数据帧: x <- data.frame("A" = c(NA, NA, 3:10, NA), "B" = c(NA,2:11), "C" = c(2:12)) 由于最大值在C列,下一个最大值在B列,最后一个最大值在A列 我有一个巨大的数据帧,需要自动完成 感谢您使用base R执行此操作: x[names(sort(sapply(x, max, na.rm = T), decreasing = T))] C
x <- data.frame("A" = c(NA, NA, 3:10, NA), "B" = c(NA,2:11), "C" = c(2:12))
由于最大值在C列,下一个最大值在B列,最后一个最大值在A列
我有一个巨大的数据帧,需要自动完成
感谢您使用base R执行此操作:
x[names(sort(sapply(x, max, na.rm = T), decreasing = T))]
C B A
1 2 NA NA
2 3 2 NA
3 4 3 3
4 5 4 4
5 6 5 5
6 7 6 6
7 8 7 7
8 9 8 8
9 10 9 9
10 11 10 10
11 12 11 NA
我想这就是你想要的
x <- data.frame("A" = c(NA, NA, 3:10, NA), "B" = c(NA,2:11), "C" = c(2:12))
maxx <- sapply(x, function(x) max(x,na.rm = TRUE))
result <- x[,order(-maxx)]
result
C B A
1 2 NA NA
2 3 2 NA
3 4 3 3
4 5 4 4
x这样的解决方案有效吗
x %>% dplyr::arrange(-C,-B,-A)
或
另请参见问题:[dplyr arrange()函数按缺少的值排序]()
x %>% dplyr::arrange(-C,-B,-A)
x %>% dplyr::arrange(desc(C,B,A))