在 R 中查找、替换和丢弃数据框中的值
find, replace and discard values in dataframe in R
我正在尝试找出如何在 R 中的数据框中查找、替换和丢弃值。我正在使用 R 中内置的 Loblolly 数据集。我想替换生长过程中记录的高度数据具有 NA 的种子 311;然后丢弃三年树的所有数据。
我试过了,但由于某种原因它不起作用:
for('311' in Loblolly$Seed) Loblolly$height <- 'NA'
Matlab 中有一个很好的查找函数,R 中有类似的函数吗?
您可以使用 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
我正在尝试找出如何在 R 中的数据框中查找、替换和丢弃值。我正在使用 R 中内置的 Loblolly 数据集。我想替换生长过程中记录的高度数据具有 NA 的种子 311;然后丢弃三年树的所有数据。
我试过了,但由于某种原因它不起作用:
for('311' in Loblolly$Seed) Loblolly$height <- 'NA'
Matlab 中有一个很好的查找函数,R 中有类似的函数吗?
您可以使用 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