在列中找到具有特定值的行,并将其移动到dataframe的顶部
我有下面的数据框,我想将在列中找到具有特定值的行,并将其移动到dataframe的顶部,r,R,我有下面的数据框,我想将Reg列中C的行移动为第一行 Reg <- rep(LETTERS[1:3], each = 1) Res <- c("Urban", "Rural","Urban") df <- data.frame(Reg, Res) Reg简单的方法是在“Reg”上创建一个逻辑向量,其中指定的逻辑运算符是=(不等于)将所有其他值返回为TRUE,将与“C”对应的行返回为FALSE。当我们对进行排序时,按
Reg
列中C
的行移动为第一行
Reg <- rep(LETTERS[1:3], each = 1)
Res <- c("Urban", "Rural","Urban")
df <- data.frame(Reg, Res)
Reg简单的方法是在“Reg”上创建一个逻辑向量,其中指定的逻辑运算符是=代码>(不等于)将所有其他值返回为TRUE,将与“C”对应的行返回为FALSE。当我们对
进行排序时,按字母顺序,“F”排在“T”之前,因此“C”行将位于顶部,然后是其余行
df[order(df$Reg != 'C'),]
或dplyr
中的类似选项
library(dplyr)
df %>%
slice(order(Reg != 'C'))
或使用排列
df %>%
arrange(Reg != 'C')
简单的方法是在'Reg'上创建一个逻辑向量,其中指定的逻辑运算符是=代码>(不等于)将所有其他值返回为TRUE,将与“C”对应的行返回为FALSE。当我们对
进行排序时,按字母顺序,“F”排在“T”之前,因此“C”行将位于顶部,然后是其余行
df[order(df$Reg != 'C'),]
或dplyr
中的类似选项
library(dplyr)
df %>%
slice(order(Reg != 'C'))
或使用排列
df %>%
arrange(Reg != 'C')
这是另一个选择
> df[order(replace(seq(nrow(df)),df$Reg=="C",0)),]
Reg Res
3 C Urban
1 A Urban
2 B Rural
这是另一个选择
> df[order(replace(seq(nrow(df)),df$Reg=="C",0)),]
Reg Res
3 C Urban
1 A Urban
2 B Rural
用给出的精彩答案=代码>用做出精彩的回答=代码>