Используйте функцию is.na
.Нет необходимости преобразовывать в коэффициент, хотя тот факт, что у вас были символьные значения, приводил к тому, что вы хотели быть числовым.
> df <- data.frame("h"=c(1,1,"."))
> is.na(df) <- df=="."
> df
h
1 1
2 1
3 <NA>
Я не уверен, почему @TylerRinker удалил свой ответ относительно использования 'na.strings ', так как я думал, что это правильный ответ.
Комментарий: Посмотрев на это год спустя, я понял, что a) ОП неправильно понял, как отображались пропущенные значения, когда они находятся в факторах или символьных векторах,и b) что основная проблема заключалась не в ошибке при перекодировании в R-пропущенное значение, которое код ОП уже правильно сделал правильно, а скорее в ошибке опечатки, обнаруженной @joran.