R 如何删除所有重复的代码并只保留每个代码的第一个代码?

R 如何删除所有重复的代码并只保留每个代码的第一个代码?,r,R,这是我的数据 code long lat a 103.0059509 1.736281037 a 103.0055008 1.736822963 a 103.0049973 1.737220049 a 103.0044479 1.737781048 a 103.0041733 1.737781048 b 103.003891 1.738060951 b 103.0022202 1.738055944 b 103.0019455 1.738332033

这是我的数据

code    long    lat
a   103.0059509 1.736281037
a   103.0055008 1.736822963
a   103.0049973 1.737220049
a   103.0044479 1.737781048
a   103.0041733 1.737781048
b   103.003891  1.738060951
b   103.0022202 1.738055944
b   103.0019455 1.738332033
b   103.0013885 1.738332033
b   103.0011139 1.738610029
c   103.0008316 1.738610029
c   103.0005569 1.738891006
c   103.000267  1.738891006
c   103         1.738610029
我希望我的代码只显示第一个代码。没有重复。
而long lat的值保持不变

假设'code'列是
字符
类,我们将
替换为
NA
,然后使用
NA.locf
将NA值替换为以前的非NA值

library(zoo)
df1$code[df1$code==""] <- NA
df1$code <- na.locf(df1$code)

有关
数据的更多信息。表格
可以在中找到,抱歉重复了一个问题。我想不出任何方法来用na替换我的空格。如果我的数据与此相反,该怎么办?@ahmadfikri如果你想从相反的方向执行,请使用
na.locf(df1$code,fromLast=TRUE,na.rm=FALSE)
意思是我拥有所有的代码,我希望它与上面的一样data@ahmadfikri对不起,我不知道你的意思。你能再次在@akrun更新你的帖子吗
library(data.table)
setDT(df1)[df1[, .I[2:.N] , code]$V1, code := ""][]
#  code     long      lat
# 1:    a 103.0060 1.736281
# 2:      103.0055 1.736823
# 3:      103.0050 1.737220
# 4:      103.0044 1.737781
# 5:      103.0042 1.737781
# 6:    b 103.0039 1.738061
# 7:      103.0022 1.738056
# 8:      103.0019 1.738332
# 9:      103.0014 1.738332
#10:      103.0011 1.738610
#11:    c 103.0008 1.738610
#12:      103.0006 1.738891
#13:      103.0003 1.738891
#14:      103.0000 1.738610