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