Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.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
data.frame中的唯一/排序_R_Unique_Dataframe - Fatal编程技术网

data.frame中的唯一/排序

data.frame中的唯一/排序,r,unique,dataframe,R,Unique,Dataframe,我有这样一个数据框: x=c("01","01","01","22","22","03","03","03","35","35") y=c("f","f","f","m","m","m","m","m","f","f") df=data.frame(spn=x, sex=y) 似乎: spn sex 1 01 f 2 01 f 3 01 f 4 22 m 5 22 m 6 03 m 7 03 m 8 03 m 9 35

我有这样一个数据框:

x=c("01","01","01","22","22","03","03","03","35","35")
y=c("f","f","f","m","m","m","m","m","f","f")
df=data.frame(spn=x, sex=y)
似乎:

   spn sex
1   01   f
2   01   f
3   01   f
4   22   m
5   22   m
6   03   m
7   03   m
8   03   m
9   35   f
10  35   f
我想做的是对df$spn进行排序,让它只出现一次。适当的性别,如:

   spn sex
1  01   f
2  03   m
3  22   m
4  35   f
我怎么能这么做?非常感谢

df[!重复(df),]
df <- df[order(df$spn), ]
> df[!duplicated(df), ]
  spn sex
1  01   f
6  03   m
4  22   m
9  35   f
spn性别 101楼 603米 4.22米 9 35 f
使用唯一顺序:

df <- unique(df)
df[order(df$spn), ]

从效率的角度来看,如果先删除重复项,确实会更快。是否可以在一行代码中编写?我希望在这里将df的输出作为myVariable添加到ggplot scale_y_continuous(label=c)(@MeenakshiSundharam)中,并附上示例数据、ggplot代码和预期输出。
df <- unique(df)
df[order(df$spn), ]
library(dplyr)
unique(df) %>% arrange(spn)
#   spn sex
# 1  01   f
# 2  03   m
# 3  22   m
# 4  35   f

library(data.table)
unique(setDT(df))[ order(spn), ]
#    spn sex
# 1:  01   f
# 2:  03   m
# 3:  22   m
# 4:  35   f