簡體   English   中英

使用R提取一列中具有唯一值並與另一列中的文本“ NA”相等的行

[英]Extract rows with unique value in one column and equal to text “NA” in another column using R

給定一個具有3列A,B,C的data.frame:

A    B       C
P   NA   black
W    4   white
F    6   black
R   NA    pink
H    8    blue
V   NA  yellow

使用R,我想弄清楚如何在B列在C柱文本“NA”獨特的價值抽取行

因此,在這種情況下,要提取的行應為第4行和第6行。

subset(dat, !duplicated(C) & !duplicated(C, fromLast=T) & is.na(B))
#   A  B      C
# 4 R NA   pink
# 6 V NA yellow

如果您的B欄存儲字符串"NA"請執行此操作

dat[ave(rep(1,nrow(dat)), dat$C, FUN=sum)==1 & dat$B=="NA",]

如果它存儲實際的NA值(缺失值),請執行此操作

dat[ave(rep(1,nrow(dat)), dat$C, FUN=sum)==1 & is.na(dat$B),]

dat是您的數據框。 結果:

  A  B      C
4 R NA   pink
6 V NA yellow

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM