首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在dplyr中对tibble行中的条目进行排序?

如何在dplyr中对tibble行中的条目进行排序?
EN

Stack Overflow用户
提问于 2020-02-20 21:36:56
回答 2查看 250关注 0票数 1

举个例子:

代码语言:javascript
复制
     V1    V2    V3     X
1     1     5     4    "asa"
2     5     2     3    "sdsf"

应该变成

代码语言:javascript
复制
     V1    V2    V3     X
1     1     4     5    "asa"
2     2     3     5    "sdsf"

寻找简短而快速的解决方案。对于大约150,000行的数据帧,使用for循环和base R命令需要相当长的时间。

EN

回答 2

Stack Overflow用户

发布于 2020-02-20 21:51:17

代码语言:javascript
复制
d <- data.frame(
  a=c(1,3),
  b=c(5,2),
  c=c(9,1),
  d=c("as","dasd")
)

d

  a b c    d
1 1 5 9   as
2 3 2 1 dasd

as.data.frame(t(d)) %>% mutate_all(sort) %>% t() %>% as.data.frame()

   V1 V2 V3   V4
V1  1  5  9   as
V2  1  2  3 dasd

当然,初始数据帧的列名变得毫无意义。

票数 1
EN

Stack Overflow用户

发布于 2020-02-20 21:56:38

您可以旋转它,按大小排列行,然后再次旋转回来。

代码语言:javascript
复制
library(dplyr)
library(tidyr)

df %>%
  mutate(row_id = row_number()) %>%
  pivot_longer(V1:V3) %>%
  arrange(row_id, value) %>%
  group_by(row_id) %>%
  mutate(name = paste0("V", row_number())) %>%
  ungroup() %>%
  pivot_wider(id_cols = X:row_id, names_from = name, values_from = value) %>%
  select(-row_id)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60321246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档