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

rqdpfwrv  于 2023-05-26  发布在  其他
关注(0)|答案(5)|浏览(140)

使用R,我如何使数据框的列成为数据框的索引?假设我从.csv文件中读取数据。其中一个列名为“Date”,我想将该列作为dataframe的索引。
例如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.
ckocjqey

ckocjqey1#

我假设“索引”是指行名称。你可以给行名称向量赋值:

rownames(df) <- df$Date
lh80um4z

lh80um4z2#

在pandas和R中,可以在阅读数据时设置索引。
在Pandas中:

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

在R中:

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

ki0zmccv3#

Tidyverse解决方案:

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

d7v8vwbk4#

下面的代码将工作

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

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

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

k4ymrczo5#

当保存 Dataframe 时,使用row.names=F,例如write.csv(prediction.df, "my_file.csv", row.names=F)

相关问题