2014-01-08 5 views

ответ

4

Проще всего прочитать весь файл, а затем получить только нечетные строки.

df <- read.csv("filename.csv") 
df <- df[seq(1, nrow(df), 2),] 
15
read.csv("filename.csv")[c(TRUE, FALSE), ] 

Как это работает:

Функция read.csv используется для чтения всего файла и возвращает кадр данных, включающий все строки. Затем [x, ] используется для извлечения определенных строк из фрейма данных. Если длина вектора c(TRUE, FALSE) (2) ниже числа строк кадра данных, векторные значения будут переработаны до тех пор, пока длина вектора не будет соответствовать количеству строк. Если кадр данных имеет, например, 5 строк, вектор равен c(TRUE, FALSE, TRUE, FALSE, TRUE). Будут выбраны все строки, соответствующие TRUE. Следовательно, это будет выбирать строки с нечетными номерами строк.

К слову: если вы хотите выбрать четные номера строк, вы можете использовать c(FALSE, TRUE).

+0

+1 конечно !!! –

+2

Приятно, но он кричит «Добавить комментарий сверху», чтобы объяснить, что он делает. – nico

+0

@nico Я добавил объяснение. –

Смежные вопросы