is.na
применяется ко всему набору данных и дает матрицу с размерами, равными исходному набору данных. Поэтому лучше установить поднабор данных и применить is.na
к первым четырем столбцам, чтобы получить логическую матрицу, а затем использовать то же подмножество данных, чтобы присвоить ИСТИННЫМ значениям 0
.
grades[1:4][is.na(grades[1:4])] <- 0