Установите столбец Data Frame в качестве индекса объекта R. data.frame

Используя R, как мне сделать столбец данных в виде индекса данных? Предположим, что я прочитал свои данные из CSV файла. Один из столбцов называется "Дата", и я хочу сделать этот столбец индексом моего фрейма.

Например, в Python, NumPy, Pandas; Я бы сделал следующее:

df = pd.read_csv('/mydata.csv')
d = df.set_index('Date')

Теперь, как это сделать в R?

Я пробовал в R:

df <- read.csv("/mydata.csv")
d <- data.frame(V1=df['Date'])
# or
d <- data.frame(Index=df['Date'])

# but these just make a new dataframe with one 'Date' column. 
#The Index is still 0,1,2,3... and not my Dates.

Ответ 1

Я предполагаю, что под "индексом" вы подразумеваете имена строк. Вы можете назначить вектор имен строк:

rownames(df) <- df$Date

Ответ 2

Индекс может быть установлен во время чтения данных, как в пандах, так и в R.

В пандах:

import pandas as pd
df = pd.read_csv('/mydata.csv', index_col="Date")

В R:

df <- read.csv("/mydata.csv", header=TRUE, row.names="Date")

Ответ 3

Решение Tidyverse:

library(tidyverse)
df %>% column_to_rownames(., var = "Date")