如何将数值重新编码为数据框中向量的NA值

时间:2015-11-30 02:47:28

标签: r na recode

我有一个包含几个数字变量的数据框。我编写了一个排序算法,通过比较包含我感兴趣的数值的列中的值来对行进行排序。

数值格式为YYYYMMDD。但是,有些条目有0(零)作为一个值,它应该是一个NA。这意味着可以在例如20001224和0之间进行比较,即使它没有意义,因为0是不适用的值。

我可以使用strptime将值转换为日期,从而摆脱非约会。但是,为了理解如何将数据帧的几列重新编码为NA值,我想在此处将其作为一个问题发布。

必须有一种简单的方法(使用其中一个应用函数)逐列,并将所有0(0)重新编码为NA。

EnrollmentBegin EnrollmentBegin2 EnrollmentBegin3 EnrollmentEnd EnrollmentEnd2 EnrollmentEnd3
20040129        20130107         0               20060526       20140816       0
20050829        0                0               20070822       0              0
20000831        0                0               20020524       0              0
20080827        0                0               20090526       0              0

以下是我的数据摘录的输入:

structure(list(EnrollmentBegin = c(20040129, 20050829, 20000831, 20080827), EnrollmentBegin2 = c(20130107, 0, 0, 0), EnrollmentBegin3 = c(0, 0, 0, 0),           EnrollmentEnd = c(20060526, 20070822, 20020524, 20090526 ), EnrollmentEnd2 =     c(20140816, 0, 0, 0), EnrollmentEnd3 = c(0, 0, 0, 0)), .Names = c("EnrollmentBegin", "EnrollmentBegin2", "EnrollmentBegin3", "EnrollmentEnd", "EnrollmentEnd2", "EnrollmentEnd3"), row.names = c("3", "5", "6", "7"), class = "data.frame")

0 个答案:

没有答案