使用因子变量从不同的 excel 工作表创建数据框
Create dataframe from different excel sheets with factor variable
抱歉,如果这是一个非常基本的问题,但我无法找到问题的答案。
我使用 readxl
库从具有 3 sheet 的 excel 文件导入了我的数据。所以我的工作区中有 3 个数据集,我想将它们放在一起(我已经使用 rbind
函数完成了)。
但是我需要创建一个具有 3 个级别的新变量因子(每个级别 sheet),以便在创建的新数据框中区分它们。我该怎么做?
提前致谢!
这是一个如何做的例子:
# the dataframes
df1 <- mtcars[1:3,1:2]
df2 <- mtcars[5:10,1:2]
# get all dataframes in your environment in a list
df_list <- Filter(function(x) is(x, "data.frame"), mget(ls()))
# add an id column to each dataframe in the list
df_list <- Map(cbind, df_list, unique.id = (1:length(df_list)))
# bind all dataframes to one with the unique id
do.call(rbind, df_list)
mpg cyl unique.id
df1.Mazda RX4 21.0 6 1
df1.Mazda RX4 Wag 21.0 6 1
df1.Datsun 710 22.8 4 1
df2.Hornet Sportabout 18.7 8 2
df2.Valiant 18.1 6 2
df2.Duster 360 14.3 8 2
df2.Merc 240D 24.4 4 2
df2.Merc 230 22.8 4 2
df2.Merc 280 19.2 6 2
在绑定它们之前,在每个基于 sheet 的数据框中创建一个变量。
sheet1$sheet –> "S1"
sheet2$sheet -> "S2"
sheet3$sheet -> "S3"
在那里你将有一个名为 sheet 的变量和一个包含 S1、S2、S3 的列。
您可以使用 dplyr::bind_rows
指定 .id
选项并可能对输入数据帧使用命名参数(参见文档)
抱歉,如果这是一个非常基本的问题,但我无法找到问题的答案。
我使用 readxl
库从具有 3 sheet 的 excel 文件导入了我的数据。所以我的工作区中有 3 个数据集,我想将它们放在一起(我已经使用 rbind
函数完成了)。
但是我需要创建一个具有 3 个级别的新变量因子(每个级别 sheet),以便在创建的新数据框中区分它们。我该怎么做?
提前致谢!
这是一个如何做的例子:
# the dataframes
df1 <- mtcars[1:3,1:2]
df2 <- mtcars[5:10,1:2]
# get all dataframes in your environment in a list
df_list <- Filter(function(x) is(x, "data.frame"), mget(ls()))
# add an id column to each dataframe in the list
df_list <- Map(cbind, df_list, unique.id = (1:length(df_list)))
# bind all dataframes to one with the unique id
do.call(rbind, df_list)
mpg cyl unique.id
df1.Mazda RX4 21.0 6 1
df1.Mazda RX4 Wag 21.0 6 1
df1.Datsun 710 22.8 4 1
df2.Hornet Sportabout 18.7 8 2
df2.Valiant 18.1 6 2
df2.Duster 360 14.3 8 2
df2.Merc 240D 24.4 4 2
df2.Merc 230 22.8 4 2
df2.Merc 280 19.2 6 2
在绑定它们之前,在每个基于 sheet 的数据框中创建一个变量。
sheet1$sheet –> "S1"
sheet2$sheet -> "S2"
sheet3$sheet -> "S3"
在那里你将有一个名为 sheet 的变量和一个包含 S1、S2、S3 的列。
您可以使用 dplyr::bind_rows
指定 .id
选项并可能对输入数据帧使用命名参数(参见文档)