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