Найдите индекс максимального значения в R DataFrame

Опубликовано: 14 Сентября, 2022

В этой статье мы увидим, как найти индекс максимального значения из DataFrame на языке программирования R.

Мы можем найти индекс максимального значения в кадре данных, используя функцию which.max() .

Синтаксис:

which.max(dataframe_name$columnname)

«$» используется для доступа к определенному столбцу фрейма данных.

Ниже приведены различные реализации, изображающие различные типы данных и ситуации, чтобы помочь вам лучше понять.

Пример 1:

R




# vector 1
data1=c("sravan","bobby","pinkey","rohith","gnanesh")
 
# vector 2
data2=c(98,78,79,97,89)
 
# creating a dataframe with names and marks
# using above vectors
final <- data.frame(names=data1,marks=data2)
                    
print(final)
 
# display the maximum value index in 2 nd column
# (marks column) in a dataframe
print(paste("highest index is : ",which.max(final$marks)))

Выход:

Если существует более одного максимального значения, то он вернет индекс первого числа, которое повторяется.

Пример 2:

R




# vector 1
data1=c("sravan","bobby","pinkey","rohith",
        "gnanesh","divya","satwik","chandu")
 
# vector 2
data2=c(98,78,79,97,89,89,99,99)
 
# creating a dataframe with names and marks
# using above vectors
final <- data.frame(names=data1,marks=data2)
                    
print(final)
 
print(paste("highest index is : ",which.max(final$marks)))

Выход:

Если данные имеют символьный тип, максимальное значение будет найдено с использованием значений ASCII.

Пример 3:

R




# vector 1
data1=c("sravan","bobby","pinkey","rohith",
        "gnanesh","divya","satwik","zhandu")
 
# vector 2
data2=c(98,78,79,97,89,89,99,99)
 
# creating a dataframe with names and marks
# using above vectors
final <- data.frame(names=data1,marks=data2)
                    
print(final)
 
# display maximum value index for character values
print(paste("highest index is : ",which.max(final$names)))

Выход:

Пример 4:

R




# vector 1 that contains NA values as characters
data1=c(NA,"sravan",NA,NA,NA)
 
# vector 2 contains all data
data2=c(102,98,98,102,102)
 
# creating a dataframe with names and marks
# using above vectors
final <- data.frame(names=data1,marks=data2)
                    
print(final)
 
# display maximum value index for character values
print(paste("highest index is : ",which.max(final$names)))
 
# display maximum value index for  marks values
print(paste("highest index is : ",which.max(final$marks)))

Выход:

Если строка, содержащая все значения, одинаковы, значит, все они выше. Таким образом, он вернет индекс первого элемента.

Пример 5:

R




# vector contains all same data
data2=c(102,102,102,102,102)
 
# creating a dataframe marks using above vector
final <- data.frame(marks=data2)
                    
print(final)
 
# display maximum value index for  marks values
print(paste("highest index is : ",which.max(final$marks)))

Выход:

Если данные содержат значения как NA, то они вернутся пустыми.

Пример 6:

R




# vector contains all NA"s
data2=c(NA,NA)
 
# creating a dataframe marks using
# above vector
final <- data.frame(marks=data2)
                    
print(final)
 
# display maximum value index for  marks values
print(paste("highest index is : ",which.max(final$marks)))

Выход: