将数据框列设置为R data.frame对象的索引

时间:2013-12-17 19:38:02

标签: r

使用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.

4 个答案:

答案 0 :(得分:31)

我认为“索引”是指行名称。您可以为行名称赋值:

rownames(df) <- df$Date

答案 1 :(得分:5)

可以在读取数据时在熊猫和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")

答案 2 :(得分:1)

tidyverse解决方案:

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

答案 3 :(得分:0)

在保存数据框时使用 row.names=F 例如write.csv(prediction.df, "my_file.csv", row.names=F)