如何在 r 中将数据框列设置为索引(示例)
R 中的数据帧没有像 pandas 中的数据帧那样的“索引”列。
但是,R 中的数据框具有行名称,其作用与索引列相同。
您可以使用以下任意方法将现有数据框列设置为 R 中数据框的行名称:
方法 1:使用 Base 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 ')
方法三:导入数据时设置行名
#import CSV file and specify column to use as row names df <- read. csv (' my_data.csv ', row.names =' my_column ')
以下示例展示了如何在实践中使用每种方法。
示例 1:使用 Base 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 包设置行名称
以下代码展示了如何使用spiceverse包的column_to_rownames()函数将行名称设置为等于数据框中的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:导入数据时设置行名称
假设我们有以下名为my_data.csv的 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 中执行其他常见任务: