gpt4 book ai didi

r - 如何仅删除一列中的 NA 数据?

转载 作者:行者123 更新时间:2023-12-03 12:53:05 25 4
gpt4 key购买 nike

我有一个看起来像这样的文件:

date       A  B
2014-01-01 2 3
2014-01-02 5 NA
2014-01-03 NA NA
2014-01-04 7 11

如果我使用 newdata <- na.omit(data)哪里 data上表是通过R加载的,那么我只得到两个数据点。我明白了,因为它会过滤 NA 的所有实例。我想做的是过滤每个 AB以便我获得 A 的三个数据点并且只有两个 B .显然,我的主要数据集比这大得多,而且数字不同,但两者都无关紧要。

我怎样才能做到这一点?

最佳答案

使用 is.na()在您希望查找和索引的相关数据向量上使用否定结果。例如:

R> data[!is.na(data$A), ]
date A B
1 2014-01-01 2 3
2 2014-01-02 5 NA
4 2014-01-04 7 11
R> data[!is.na(data$B), ]
date A B
1 2014-01-01 2 3
4 2014-01-04 7 11
is.na()返回 TRUE对于 NA 的每个元素和 FALSE除此以外。为了索引数据框的行,我们可以使用这个逻辑向量,但我们想要它的相反。因此我们使用 !暗示相反( TRUE 变成 FALSE,反之亦然)。

您可以通过为 , 后面的列添加索引来限制返回的列。在 [ , ] ,例如
R> data[!is.na(data$A), 1:2]
date A
1 2014-01-01 2
2 2014-01-02 5
4 2014-01-04 7

关于r - 如何仅删除一列中的 NA 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20977972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com