gpt4 book ai didi

在没有先验向量的情况下使用 dplyr 重新排列列(降序/升序)

转载 作者:行者123 更新时间:2023-12-04 07:04:41 29 4
gpt4 key购买 nike

如果事先知道哪些列可用,则以下代码可以重新排列列,但如果想按降序/升序重新排列列怎么办? StackOverflow 上有一些类似的帖子,但没有一篇可以在事先不知道哪些列可用的情况下这样做。

  type value
1 rna 1
2 rna 2
3 rna 3
4 dna 20
5 dna 30


d<- data.frame (type=c("rna","rna","rna"), value = c(1,2,3) )
d2 <- data.frame (type=c("dna","dna"), value = c(20,30) )
df <- rbind (d,d2)


library(dplyr)
df %>%
group_by(type) %>%
summarise_all(sum) %>%
data.frame() %>%
arrange(desc(value)) %>% # reorder row
select_(.dots = c("value","type") ) # reorder column

最佳答案

sort(names(.))rev(sort(names(.))) 应该工作...

d<- data.frame (type=c("rna","rna","rna"), value = c(1,2,3) )
d2 <- data.frame (type=c("dna","dna"), value = c(20,30) )
df <- rbind (d,d2)


library(dplyr)
df %>%
group_by(type) %>%
summarise_all(sum) %>%
data.frame() %>%
arrange(desc(value)) %>% # reorder row
select(sort(names(.)))

关于在没有先验向量的情况下使用 dplyr 重新排列列(降序/升序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50610098/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com