使用R中的dplyr更改行位置
这是我的数据帧:使用R中的dplyr更改行位置,r,dplyr,tidyverse,R,Dplyr,Tidyverse,这是我的数据帧: mydf<-structure(list(DS_FAIXA_ETARIA = c("100 anos ou mais", "16 anos", "17 anos", "18 anos", "19 anos", "20 anos", "21 a 24 anos", "25 a 29 anos", "30
mydf<-structure(list(DS_FAIXA_ETARIA = c("100 anos ou mais", "16 anos",
"17 anos", "18 anos", "19 anos", "20 anos", "21 a 24 anos", "25 a 29 anos",
"30 a 34 anos", "35 a 39 anos", "40 a 44 anos", "45 a 49 anos",
"50 a 54 anos", "55 a 59 anos", "60 a 64 anos", "65 a 69 anos",
"70 a 74 anos", "75 a 79 anos", "80 a 84 anos", "85 a 89 anos",
"90 a 94 anos", "95 a 99 anos", "Inválido"), n = c(12130L, 48253L,
67401L, 79398L, 88233L, 90738L, 149634L, 198848L, 238406L, 265509L,
297319L, 335263L, 340838L, 331741L, 306299L, 269700L, 234918L,
198834L, 166733L, 133357L, 84171L, 29421L, 5202L)), row.names = c(NA,
-23L), groups = structure(list(DS_FAIXA_ETARIA = c("100 anos ou mais",
"16 anos", "17 anos", "18 anos", "19 anos", "20 anos", "21 a 24 anos",
"25 a 29 anos", "30 a 34 anos", "35 a 39 anos", "40 a 44 anos",
"45 a 49 anos", "50 a 54 anos", "55 a 59 anos", "60 a 64 anos",
"65 a 69 anos", "70 a 74 anos", "75 a 79 anos", "80 a 84 anos",
"85 a 89 anos", "90 a 94 anos", "95 a 99 anos", "Inválido"),
.rows = structure(list(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L,
10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L,
21L, 22L, 23L), ptype = integer(0), class = c("vctrs_list_of",
"vctrs_vctr", "list"))), row.names = c(NA, -23L), class = c("tbl_df",
"tbl", "data.frame"), .drop = TRUE), class = c("grouped_df",
"tbl_df", "tbl", "data.frame"))
mydf我们可以利用slice
重新排列行以及子集。输入数据是分组的,因此在执行切片之前,应该对其进行解组
ed
library(dplyr)
mydf %>%
ungroup %>%
slice(c(n(), 2:(n()-1), 1))
如果数据没有分组怎么办?@Laura如果数据没有分组,那么直接应用slice
即mydf%>%slice(c(n(),2:(n()-1),1))
再次感谢@akrun。我现在正在阅读dplyr pdf。现在对我来说更清楚了。非常感谢@Laura与group by一起,当您执行切片时,它会为每个组执行切片