2017-05-25 49 views
0

我想更换NA的数据帧列主要是与旧的日期的日期。R在作为数据帧更换NA随着日期列 - 无效因子水平NA生成

我已经试过各种变化的基础上的堆栈溢出其他职位以下的 - 但我似乎无法得到期望的结果。

sales$LatestSaleDate[as.character(sales$LatestSaleDate) == "NA"] <- as.Date("1900-1-1") 

我得到的错误:

invalid factor level, NA generated.

我不能让我的周围什么是真正发生在这里头..但我肯定有一个简单的解决方法。想法?

Sku Name CustomList2ID LatestSaleDate LocalStock RemoteStock is_in_stock 
1 sku1 Prd1    0  2017-05-12  -2   -2 out of stock 
2 sku2 Prd2    0  2017-05-22   5   5 in stock 
3 sku3 Prd3    0  <NA>    12   12 in stock 
4 sku4 Prd4    0  2017-05-19  -6   -6 out of stock 
5 sku5 Prd5    0  <NA>    -1   -1 out of stock 
6 sku6 Prd6    0  2017-05-25  33   33 in stock 
+0

,你必须使用' is.na()'instead,.... so:'sales $ LatestSaleDate [is.na(sales $ LatestSaleDate)] < - as.Date(“1900-1-1”)' – BigDataScientist

+1

可能重复[How do我用一个R dataframe中的零替换NA值?](https://stackoverflow.com/questions/8161836/how-do-i-replace-na-values-with-zeros-in-an-r-dataframe) – BigDataScientist

回答

-1

尝试使用此 -

销售额$ LatestSaleDate [is.na(销售$ LatestSaleDate)< - as.Date( “1900-1-1”)

+0

没有 - 同样的错误信息 警告荷兰国际集团的消息: 在'[< - factor'('* TMP *',is.na(销售$ LatestSaleDate),值= C(180L,: 无效因子水平,NA产生 –

+0

看起来像你的'LatestSaleDate variable'是一个因素。如果首先出现这种情况,则需要将其转换为“Date”类型,然后才能运行上面的代码 – Bea