Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在列中找到具有特定值的行,并将其移动到dataframe的顶部_R - Fatal编程技术网

在列中找到具有特定值的行,并将其移动到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

给出的精彩答案=
做出精彩的回答=