Как установить столбец фрейма данных в качестве индекса в R (с примером)

Как установить столбец фрейма данных в качестве индекса в R (с примером)

Фреймы данных в R не имеют «индексного» столбца, как фреймы данных в pandas.

Однако фреймы данных в R имеют имена строк , которые действуют аналогично индексному столбцу.

Вы можете использовать один из следующих методов, чтобы установить существующий столбец фрейма данных в качестве имен строк для фрейма данных в R:

Метод 1: установка имен строк с использованием базы R

#set specific column as row names
rownames(df) <- df$my_column

#remove original column from data frame
df$my_column <- NULL

Способ 2: установка имен строк с помощью пакета Tidyverse

library (tidyverse)

#set specific column as row names
df <- df %>% column_to_rownames(., var = 'my_column')

Способ 3: установка имен строк при импорте данных

#import CSV file and specify column to use as row names
df <- read.csv('my_data.csv', row. names ='my_column')

В следующих примерах показано, как использовать каждый метод на практике.

Пример 1. Задание имен строк с использованием основы R

Предположим, у нас есть следующий фрейм данных в R:

#create data frame
df <- data.frame(ID=c(101, 102, 103, 104, 105),
 points=c(99, 90, 86, 88, 95),
 assists=c(33, 28, 31, 39, 34),
 rebounds=c(30, 28, 24, 24, 28))

#view data frame
df

 ID points assists rebounds
1 101 99 33 30
2 102 90 28 28
3 103 86 31 24
4 104 88 39 24
5 105 95 34 28

Мы можем использовать следующий код, чтобы установить столбец ID в качестве имен строк:

#set ID column as row names
rownames(df) <- df$ID

#remove original ID column from data frame
df$ID <- NULL

#view updated data frame
df

 points assists rebounds
101 99 33 30
102 90 28 28
103 86 31 24
104 88 39 24
105 95 34 28

Значения из столбца ID теперь являются именами строк для фрейма данных.

Пример 2: установка имен строк с помощью пакета Tidyverse

В следующем коде показано, как использовать функцию column_to_rownames() из пакета tidyverse , чтобы установить имена строк, равные столбцу ID во фрейме данных:

library (tidyverse)

#create data frame
df <- data.frame(ID=c(101, 102, 103, 104, 105),
 points=c(99, 90, 86, 88, 95),
 assists=c(33, 28, 31, 39, 34),
 rebounds=c(30, 28, 24, 24, 28))

#set ID column as row names
df <- df %>% column_to_rownames(., var = 'ID')

#view updated data frame
df

 points assists rebounds
101 99 33 30
102 90 28 28
103 86 31 24
104 88 39 24
105 95 34 28

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

Пример 3. Установка имен строк при импорте данных

Предположим, у нас есть следующий CSV-файл с именем my_data.csv :

Мы можем использовать следующий код для импорта файла CSV и установить имена строк равными столбцу идентификатора при импорте:

#import CSV file and specify ID column to use as row names
df <- read.csv('my_data.csv', row. names ='ID')

#view data frame
df

 points assists rebounds
101 99 33 30
102 90 28 28
103 86 31 24
104 88 39 24
105 95 34 28

Обратите внимание, что значения из столбца ID используются в качестве имен строк во фрейме данных.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

Как удалить строки из фрейма данных в R на основе условия
Как заменить значения во фрейме данных в R
Как удалить столбцы из фрейма данных в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.