Я бы также проверил, почему у вас есть фактор в первую очередь.Мне кажется, что вы читаете его из какого-то текстового файла и что где-то есть либо пробелы, либо текст (пробел, точка, табуляция, буквы NA, ...), которые заставляют R видеть целоестолбец как символ, и преобразовать его в фактор при использовании read.csv или лайков.
Если вы нашли его, вы также знаете, почему вы получаете NA, и вы можете исправить его, прежде чем сохранять кадр данных в текстовый файл.Проверьте параметр stringsAsFactors = F в read.table () и read.csv () (или, альтернативно, as.is = T в read.csv).
Рядом с этим фрагмент кода:
a[sample(a[,1],300),]->q
не делает то, что вы думаете, я думаю.Я бы использовал сами индексы, что-то в строке:
a[sample.int(dim(a)[1],300),] -> q
Если a станет числовым, ваш приведенный выше код больше не будет работать.Он будет принимать значения [, 1], одним из которых является 01012223427. Таким образом, вы получите ошибку, поскольку нет строки с этим индексным номером.Кроме того, при передаче [, 1] в качестве символа используемый вами код будет поврежден.