R更改NA值

时间:2016-01-11 10:07:14

标签: r na

我的数据如下: http://imgur.com/8KgvWvP

我想将值public void keyPressed(KeyEvent e) { int key = e.getKeyCode(); if(key == KeyEvent.VK_UP){ y = y-9; }else if(key == KeyEvent.VK_DOWN){ y = y+9; }else if(key == KeyEvent.VK_RIGHT){ x = x+9; }else if(key == KeyEvent.VK_LEFT){ x = x-9; } this.setBounds(x, y, 9, 9); } 更改为每列的另一个值。 例如,在包含NANASingle的列中,我想将所有Dual更改为NA

我试过这段代码:

'Single'

但是我的数据看起来像这样,data_price$nbrSims <- ifelse(is.na(data_price$nbrSims), 'Single', data_price$nbrSims) 成为Dual2 Singlehttp://imgur.com/TC1bIgw

如何在不更改其他值的情况下更改1值? 提前谢谢!

4 个答案:

答案 0 :(得分:5)

试试这个(检查哪些是NA而不是用"Single"替换它们):

data_price$nbrSims <- as.character(data_price$nbrSims)
data_price$nbrSims[is.na(data_price$nbrSims)] <- "Single"

答案 1 :(得分:5)

我们在ifelse语句之后得到整数值1和2的原因是因为该列是factor类。我们将其转换为character类,它应该可以正常工作

 data_price$nbrSims <- as.character(data_price$nbrSims)
 data_price$nbrSims <- ifelse(is.na(data_price$nbrSims), 
             'Single', data_price$nbrSims)

答案 2 :(得分:4)

为了清楚起见,玛塔的回答是正确的。

您也可以使用此

更改所有Na值
data_price[is.na(data_price)]<-"Something"

答案 3 :(得分:0)

Data$Mileage <- ifelse( is.na(Data$Mileage),
                        median(Data$Mileage, na.rm = TRUE),
                        Data$Mileage)

在上面的代码中,您可以使用列的中位数更改NA值。