Вы можете предотвратить преобразование в целое число, не используя factor
во-первых, но character
, используя stringsAsFactors = FALSE
:
df.na <- data.frame(matrix(NA,nrow=2,ncol=3))
df <- cbind.data.frame(c("a","b"),c(1,2),c(TRUE,FALSE), stringsAsFactors = FALSE)
df.na[1,] <- df[1,]
df.na
# X1 X2 X3
# 1 a 1 TRUE
# 2 <NA> NA NA
Если вам нужен столбец как фактор, используйте
df.na[, 1] <- factor(df.na[, 1])
Но обычно это не обязательно, я думаю.