在R中的数据框中查找,替换和丢弃值

时间:2015-01-17 15:39:39

标签: r replace dataframe

我试图弄清楚如何在R中的数据框中查找,替换和丢弃值。我使用R中内置的Loblolly数据集。我想要替换在R期间记录的高度数据。种子311与NA的生长;然后丢弃三年树上的所有数据。

我尝试了这个,但由于某种原因它不起作用:

for('311' in Loblolly$Seed) Loblolly$height <- 'NA'

在Matlab中有一个很好的查找功能,R中是否有任何类似物?

1 个答案:

答案 0 :(得分:1)

您可以使用ifelse()功能执行此任务。

data(Loblolly)
Loblolly$height <- ifelse(Loblolly$Seed == 311, NA, Loblolly$height) 

以上只用种子311替换了NA的高度。

要创建一个不包含3年树的新数据框,您可以这样做:

Loblolly2 <- Loblolly[Loblolly$age != 3, ]

下面我只打印20-30行以显示种子311的结果:

Loblolly2[20:30, ]
   height age Seed
74  59.07  25  307
19  11.20   5  309
33  28.66  10  309
47  41.66  15  309
61  53.31  20  309
75  63.05  25  309
20     NA   5  311
34     NA  10  311
48     NA  15  311
62     NA  20  311
76     NA  25  311