作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我有这个数据框,其中有些行在“物种”列中重复,有些则没有。
所有类型的行中都有 NA,重复和不重复。
Species | A | B |
--------------------------------
Tilapia guineensis | 1 | 10 |
Tilapia guineensis | 1 | NA |
Tilapia zillii | 3 | 23 |
Tilapia zillii | 3 | NA |
Eutrigla gurnardus | 18 | 4 |
Caramila artida | 9 | NA |
Sprattus sprattus | 7 | 6 |
Spalili burcant | 11 | NA |
我想删除在 B 列中有 NA 的那些行,但前提是它们属于重复行。
Species | A | B |
--------------------------------
Tilapia guineensis | 1 | 10 |
Tilapia zillii | 3 | 23 |
Eutrigla gurnardus | 18 | 4 |
Caramila artida | 9 | NA |
Sprattus sprattus | 7 | 6 |
Spalili burcant | 11 | NA |
基本上,如果某行在 Species 列中重复并且在 B 列中有一个 NA,我想用 NA 删除该行。但是,如果某行在 Species 列中是唯一的,即使它有 NA,我也想保留它。
df <- read.csv(text="
Species,A,B
Tilapia guineensis,1,10
Tilapia guineensis,1,NA
Tilapia zillii,3,23
Tilapia zillii,3,NA
Eutrigla gurnardus,18,4
Caramila artida,9,NA
Sprattus sprattus,7,6
Spalili burcant,11,NA")
最佳答案
我认为您可以避免使用任何分组逻辑,并在一次通过中获得结果:
df[!(duplicated(df$Species) & is.na(df$B)),]
# Species A B
#1 Tilapia guineensis 1 10
#3 Tilapia zillii 3 23
#5 Eutrigla gurnardus 18 4
#6 Caramila artida 9 NA
#7 Sprattus sprattus 7 6
#8 Spalili burcant 11 NA
关于r - 如何删除特定列中带有 NA 的行,但前提是它们在另一列中有重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65418377/
我是一名优秀的程序员,十分优秀!