我试图弄清楚如何在R中的数据框中查找,替换和丢弃值。我使用R中内置的Loblolly数据集。我想要替换在R期间记录的高度数据。种子311与NA的生长;然后丢弃三年树上的所有数据。
我尝试了这个,但由于某种原因它不起作用:
for('311' in Loblolly$Seed) Loblolly$height <- 'NA'
在Matlab中有一个很好的查找功能,R中是否有任何类似物?
答案 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