【发布时间】:2018-01-04 16:51:56
【问题描述】:
这个问题不是重复的,因为我的data.frame 在所有列中没有相同数量的NA 值,因此该问题中提到的解决方案不起作用。
我有一个 data.frame 有很多 NA 值,我想删除所有具有 NA 值的单元格(重要:不是行或列,单元格)。原来的样子是这样的:
A B
1 NA
NA 2
2 NA
NA NA
NA NA
NA 4
3 5
想要的结果如下所示:
A B
1 2
2 4
3 5
列数必须保持不变,但值是否保持在同一行上并不重要。它们可以向上移动。
我可以想象一个可以删除条件为 NA 的所有单元格(可能是 apply)并得到结果。或者也许是一个简单的排序?
谢谢。
更新:
A B C
1 3
2
4 3
1 2
3 5
4
9
7 1
【问题讨论】:
-
试试
data.frame(lapply(df1, na.omit)) -
每列的 NA 数是否相同?如果没有,您将遇到问题,因为 data.frames 需要相同长度的列。您可以只使用普通列表。
-
不,有很多 NA 和很少的实际值,它们不是同一个数字。
标签: r