Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.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
用条件列擦除r中的重复行_R - Fatal编程技术网

用条件列擦除r中的重复行

用条件列擦除r中的重复行,r,R,我有以下数据: 我想排除具有相同“代码”的行,前提是它们具有相同的“ano” 因此,数据如下所示: 我们可以使用duplicated创建重复元素的逻辑索引,然后根据索引删除行。使用基本R(无任何外部软件包) 数据 df1我们可以使用duplicated创建重复元素的逻辑索引,然后根据索引删除行。使用基本R(无任何外部软件包) 数据 df1这里我提供了一个非基本解决方案distinct可以从数据帧中选择唯一的行 dplyr::distinct(df, ano, code, .keep_all =

我有以下数据:

我想排除具有相同“代码”的行,前提是它们具有相同的“ano”

因此,数据如下所示:


我们可以使用
duplicated
创建重复元素的逻辑索引,然后根据索引删除行。使用
基本R
(无任何外部软件包)

数据
df1我们可以使用
duplicated
创建重复元素的逻辑索引,然后根据索引删除行。使用
基本R
(无任何外部软件包)

数据
df1这里我提供了一个非基本解决方案<
dplyr
中的code>distinct
可以从数据帧中选择唯一的行

dplyr::distinct(df, ano, code, .keep_all = T)

#   sp mes  ano code
# 1 CM   7 2016 CM52
# 2 CM   2 2019 CM52
# 3 CM  11 2016 CM53
# 4 CM   9 2019 CM53
# 5 CM   5 2018 CM53
# 6 EI   8 2019 EI26
# 7 EI   2 2020 EI26
# 8 EI  10 2019 EI27

这里我提供了一个非基本解决方案<
dplyr
中的code>distinct
可以从数据帧中选择唯一的行

dplyr::distinct(df, ano, code, .keep_all = T)

#   sp mes  ano code
# 1 CM   7 2016 CM52
# 2 CM   2 2019 CM52
# 3 CM  11 2016 CM53
# 4 CM   9 2019 CM53
# 5 CM   5 2018 CM53
# 6 EI   8 2019 EI26
# 7 EI   2 2020 EI26
# 8 EI  10 2019 EI27

您好,您能为您迄今为止尝试的内容发布一个代码吗?如果至少有一次尝试,社区会更好地回答问题。如果没有尝试,社区会倾向于认为人们正在使用该网站来构建代码,而不是需要帮助/学习。尝试改进您的问题,以便我们能够更好地理解它。您好,您能发布您迄今为止尝试的代码吗?如果至少有一次尝试,社区会更好地回答问题。如果没有尝试,社区会倾向于认为人们使用网站来构建代码,而不是需要帮助/学习。请尝试改进您的问题,以便我们能够更深入地理解它。
df1[ !duplicated(df1[c('ano', 'code')]),]
#    sp mes  ano code
#56  CM   7 2016 CM52
#57  CM   2 2019 CM52
#58  CM  11 2016 CM53
#59  CM   9 2019 CM53
#60  CM   5 2018 CM53
#374 EI   8 2019 EI26
#379 EI   2 2020 EI26
#380 EI  10 2019 EI27
df1 <- read.csv('file.csv', sep=";")   


df1 <- structure(list(sp = c("CM", "CM", "CM", "CM", "CM", "CM", "EI", 
"EI", "EI", "EI", "EI", "EI", "EI", "EI", "EI"), mes = c(7L, 
2L, 11L, 9L, 5L, 5L, 8L, 8L, 3L, 7L, 11L, 2L, 10L, 11L, 11L), 
    ano = c(2016L, 2019L, 2016L, 2019L, 2018L, 2018L, 2019L, 
    2019L, 2019L, 2019L, 2019L, 2020L, 2019L, 2019L, 2019L), 
    code = c("CM52", "CM52", "CM53", "CM53", "CM53", "CM53", 
    "EI26", "EI26", "EI26", "EI26", "EI26", "EI26", "EI27", "EI27", 
    "EI27")), class = "data.frame", row.names = c("56", "57", 
"58", "59", "60", "61", "374", "375", "376", "377", "378", "379", 
"380", "381", "382"))
dplyr::distinct(df, ano, code, .keep_all = T)

#   sp mes  ano code
# 1 CM   7 2016 CM52
# 2 CM   2 2019 CM52
# 3 CM  11 2016 CM53
# 4 CM   9 2019 CM53
# 5 CM   5 2018 CM53
# 6 EI   8 2019 EI26
# 7 EI   2 2020 EI26
# 8 EI  10 2019 EI27