Как я могу получить индексы столбцов и строк (число) для определенного элемента?

#r

#r

Вопрос:

Таблица непредвиденных обстоятельств моих данных показывает, что существует один элемент со значением 21974. Однако which функция не может определить, где она находится. Мне интересно, есть ли в моем коде ошибка или нет.

У меня есть следующий код:

  table(as.numeric(dat[1,2:ncol(dat)]))
 # And the result is:
 #(Upper: Groups / Bottom: Frequency for each group)

53    58    59    60    65    67    71    72    74    75    78    79    80    81    82    84    88    89    94 21974 
143   142    70   226    63    95    89   181   147   344   131   896   480   205    84   159   351   475   364     1 
  

В группе «21974» есть один элемент.
Однако, если я использую which функцию, чтобы выяснить, где она находится, мой код не может ее найти:

  which(dat[1,] == "21974", arr.ind=T)
    
  

Его результат:

      row col
  

Я не уверен, как это происходит, и хотел бы знать, не злоупотреблял ли я функцией which .

Ответ №1:

Я думаю, вы можете использовать match : match(21974, df) чтобы указать позицию в векторе, таком как df $ colname. Я думаю (я его не использовал), это также помогло бы найти позицию в строке:

 df[match(21974,df$colname),]