2016-05-02 84 views
0

我自动从表中获取数据。自动化过程并不重要,但表中缺少某些数据值。参考下面的代码。如何将字符(0)转换为NA?

levels(droplevels(table$Votes[table$Candidate == "David Anderson"])) 

我是从外观拉像这样的表:

120 NULL       Jim Ireton Democratic 109 
121 NULL       Joe Werner Democratic 280 
122 NULL      Cheryl Everman Democratic 213 
123 NULL      Lesley Israel Democratic 195 
124 NULL      Amanda Jackson Democratic 227 

表将被自动拖,不总是有“大卫·安德森”的数据值,当你看到表以上。当发生这种情况时,通过此代码的最终结果(这意味着将数据清理为单数值)是一个字符(0)。我不知道为什么会发生这种情况,但是当它发生时,就不可能将数据值粘贴到我创建的表中。我需要这个价值NA,我不知道如何去那里。

+3

'字符(0)'是具有长度为0的字符对象我想解决的办法是检查结果的长度并返回NA或NA,如下所示:'ifelse(length(result)== 0,NA,result)' – Molx

+1

请提供一个可重复的示例。 –

+0

我会'如果(长度(x < - 水平(水滴(与(表,投票[候选人==“大卫安德森”)))))x其他NA_character_' – MichaelChirico

回答

0

lapply(一个,函数(x)如果(相同(X,字符(0)))NA_character_否则x)

+1

如果您要提供答案,请提供答案的上下文。只是发布一串代码对理解为什么代码是答案没有帮助。 –

相关问题