У меня есть набор данных ниже. Он содержит несколько строк нежелательных символов перед номерами, которые я хочу прочитать, а также несколько нежелательных строк после данных. Я создал подстроку, которая будет служить моим первым столбцом, который является чисто численным. Есть данные, когда набор читается выше и ниже этих чисел, которые были преобразованы в NA. Есть ли способ, кроме пропустить и nrow, что я могу удалить строки NA и читать только те строки, которые являются числовыми?Только для чтения строк
x<-read.csv("..."),
header=FALSE, na.strings="Y")
y<-substr(x$V1,1,8)
y<-as.numeric(y)
x2<-cbind(y,x1)
x2<-as.data.frame(x2)
Я попытался:
if (x$y == is.numeric) {
print(x)
} else {
print("")}
Но это явно не так, как все, я получаю ошибки. Я пытался различные комбинации кода выше, а также:
x3<-sapply(x$y,is.numeric)
x[x3,]
Но ничего я стараюсь не работает .. Я либо полностью выключен или я что-то отсутствует.
UPDATE: Я смог сделать это с помощью обоих методов, на которые были даны ответы ниже .. но проблема теперь в том, что строки, стоящие над числовыми строками, содержали символы, мои столбцы являются факторами, а не числовыми. Вместо того, чтобы фактически удалять строки, мы просто временно их удаляли. Есть ли способ их окончательного удаления, чтобы мои столбцы были классами?
Вы пробовали аргументы 'skip' и' nrow' в 'read.csv()'? –
Упс, я сказал nobs = вверху. Я хотел сказать пропустить и бросить вызов. Я собираюсь применить этот код к нескольким наборам данных с разными номерами строк, поэтому пропуска и nrow не будут работать при применении к различным наборам. – coderX
Было бы неплохо иметь пример файла и как вы хотите его прочитать в R. Будет ли 'na.omit (x)' работать? –