子集值包括空值

时间:2013-09-13 06:07:39

标签: r dataframe subset

我正在尝试解决一个问题,即如果不满足条件,我实际上尝试对数据进行子集,同时为数据插入0,并保留数据帧的某些特征。

例如:我有一个数据集:

Plot    Species    Status
1A      ABBI       L
1A      PIEN       D
1B      ABBI       D
1B      PIEN       L
2A      ABBI       L

使用以下选择标准:

Species== 'ABBI', Status== 'L'

但我所掌握的关键是我需要完整的情节信息,因此如果不符合ABBI标准,我需要添加一个0值的行。例如:

Plot    Species    Status
1A      ABBI       L
1B      0
2A      ABBI       L

有什么建议吗?提前谢谢!

1 个答案:

答案 0 :(得分:1)

听起来你想要这样的东西:

mydf <- read.table(text="Plot    Species    Status
1A      ABBI       L
1A      PIEN       D
1B      ABBI       D
1B      PIEN       L
2A      ABBI       L",header=TRUE,stringsAsFactors=FALSE)
mydf[!mydf$Species== 'ABBI' | !mydf$Status== 'L',c("Species","Status")] <- 0

> mydf
  Plot Species Status
1   1A    ABBI      L
2   1A       0      0
3   1B       0      0
4   1B       0      0
5   2A    ABBI      L