Как установить столбец фрейма данных в качестве индекса в 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

Следующий код показывает, как использовать функцию columns_to_rownames() пакета spiceverse , чтобы установить имена строк, равные столбцу 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 и установить имена строк, равные столбцу ID во время импорта:

 #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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *