Как получить индекс строки в R?

Предположим, что у меня есть список или кадр данных в R, и я хотел бы получить индекс строки, как я делаю это? Таким образом, я хотел бы знать, из какого количества строк определенная матрица состоит.

53
задан jogo 20 January 2016 в 03:38
поделиться

3 ответа

Я интерпретирую ваш вопрос как получение номеров строк.

  • Вы можете попробовать as.numeric(rownames(df)), если вы не задали rownames. В противном случае используйте последовательность 1:nrow(df).
  • Функция which() преобразует индекс строки TRUE/FALSE в номера строк.
73
ответ дан 7 November 2019 в 08:38
поделиться

Не совсем понятно, что именно вы пытаетесь сделать.

Для ссылки на строку в кадре данных используйте df[row,]

Для получения первой позиции в векторе чего-либо используйте match(item,vector), где вектор может быть одним из столбцов вашего кадра данных, например df$cname, если имя столбца - cname.

Редактировать:

Чтобы объединить их, напишите:

df[match(item,df$cname),]

Обратите внимание, что match дает первый элемент в списке, так что если вы не ищете уникальный номер ссылки, возможно, вам стоит выбрать что-то другое.

15
ответ дан 7 November 2019 в 08:38
поделиться

Если я понимаю ваш вопрос, вы просто хотите иметь доступ к элементам во фрейме данных (или списке) по строке :

x = matrix( ceiling(9*runif(20)), nrow=5  )   
colnames(x) = c("col1", "col2", "col3", "col4")
df = data.frame(x)      # create a small data frame

df[1,]                  # get the first row
df[3,]                  # get the third row
df[nrow(df),]           # get the last row

lf = as.list(df)        

lf[[1]]                 # get first row
lf[[3]]                 # get third row

и т. Д.

4
ответ дан 7 November 2019 в 08:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: