2015-09-16 107 views
0

我需要通过一个数据帧来创建一个循环,如果一个变量的值当前为空,那么这个数据帧会将变量的值改变为“NA”。循环遍历一个数据帧来改变一个向量的值

我创建了以下循环,它不会更改数据框中向量的值。

for(i in Migration_data){ 
    if(Migration_data$Tag.Version ==""){ 
    Migration$Tag.Version[i] = "NA" 
} 
} 

感谢

+3

你并不需要一个循环,'is.na(Migration_data $ Tag.Version)< - Migration_data $ Tag.Version == ''' – akrun

+1

另外,更换时,删除周围的引号' “NA”来获得实际的“NA”值。 ''不适用''会给你一个字符串,它会失败,并用'is.na()'测试 –

+0

这样做,谢谢!对R还是新的 –

回答

2

你并不需要一个for循环。尝试:

Migration_data[Migration_data$Tag.Version == "", "Tag.Version"] <- NA