考虑以下对象(数据):
collection.number weight bill.length bill.height bill.width
1 XXXXX29985 11.5 16.10 4.07 6.74
2 XXXXX29986 11.6 17.43 4.17 6.39
3 XXXX391828 NA 14.85 4.02 7.19
4 XXXX328017 NA 16.92 3.38 NA
5 XX28024 NA 14.79 NA 6.00
6 XX28095 NA 15.80 4.17 6.54
我正在尝试删除以下任一列中具有NA的所有行:bill.length,bill.height和bill.width。
当我做:
data.filtered<-na.omit(data[3:5])
要么
data.filtered<-na.omit(data, cols = c("bill.length","bill.height","bill.width"))
它将删除“权重”列中不仅具有指定列而且具有NA的所有行。我究竟做错了什么?有没有更简单的方法来删除这些行?
在这里,一个更简单的选择是?complete.cases
通过描述接受参数
向量,矩阵和数据帧的序列。
并返回一个逻辑矢量,该逻辑矢量可用作行索引以对数据集进行子集
data[complete.cases(data[3:5]),]
# collection.number weight bill.length bill.height bill.width
#1 XXXXX29985 11.5 16.10 4.07 6.74
#2 XXXXX29986 11.6 17.43 4.17 6.39
#3 XXXX391828 NA 14.85 4.02 7.19
#6 XX28095 NA 15.80 4.17 6.54
na.omit
通过删除行中任一列上没有任何NA的行来返回数据集本身。因此,当我们na.omit
在子集数据上应用时,它仅返回已按列子集的数据行的子集
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句