将两个 excel 文件附加到一个数据框中
Appending two excel files into one dataframe
我正在尝试将 Excel
中的两个 excel 文件附加到 R
。
我正在使用以下代码来执行此操作:
rm(list = ls(all.names = TRUE))
library(rio) #this is for the excel appending
library("dplyr") #this is required for filtering and selecting
library(tidyverse)
library(openxlsx)
path1 <- "A:/Users/Desktop/Test1.xlsx"
path2 <- "A:/Users/Desktop/Test2.xlsx"
dat = bind_rows(path1,path2)
输出
> dat = bind_rows(path1,path2)
Error: Argument 1 must have names.
Run `rlang::last_error()` to see where the error occurred
我很欣赏这更适合将行组合在一起,但是有人可以帮助我将不同的工作簿组合到 R Studio
中的一个数据框中吗?
如果你想在另一个下面追加一个,意思是两个excel有相同的列,我会
- select 我想要的第一行 excel 并创建一个数据框
- select 来自第二个 excel 的行并创建第二个数据框
- 附加
rbind()
。
另一方面,如果您想将一个列附加到另一个,我会从第一列和第二列中选择所需的列excel 分别放入两个数据帧,然后我会使用 cbind()
bind_rows()
在将数据帧加载到 R 环境后处理它们。您只是在尝试将 2 个字符串“绑定”在一起,因此出现错误。首先,您需要从 Excel 导入数据,您可以使用类似的方式来执行此操作:
test_df1 <- readxl::read_xlsx(path1)
test_df2 <- readxl::read_xlsx(path2)
然后你应该可以 运行:
test_df <- bind_rows(test_df1, test_df2)
更快的方法是使用 purrr
:
中的 map
函数迭代该过程
test_df <- map_df(c(path1, path2), readxl::read_xlsx)
我正在尝试将 Excel
中的两个 excel 文件附加到 R
。
我正在使用以下代码来执行此操作:
rm(list = ls(all.names = TRUE))
library(rio) #this is for the excel appending
library("dplyr") #this is required for filtering and selecting
library(tidyverse)
library(openxlsx)
path1 <- "A:/Users/Desktop/Test1.xlsx"
path2 <- "A:/Users/Desktop/Test2.xlsx"
dat = bind_rows(path1,path2)
输出
> dat = bind_rows(path1,path2)
Error: Argument 1 must have names.
Run `rlang::last_error()` to see where the error occurred
我很欣赏这更适合将行组合在一起,但是有人可以帮助我将不同的工作簿组合到 R Studio
中的一个数据框中吗?
如果你想在另一个下面追加一个,意思是两个excel有相同的列,我会
- select 我想要的第一行 excel 并创建一个数据框
- select 来自第二个 excel 的行并创建第二个数据框
- 附加
rbind()
。
另一方面,如果您想将一个列附加到另一个,我会从第一列和第二列中选择所需的列excel 分别放入两个数据帧,然后我会使用 cbind()
bind_rows()
在将数据帧加载到 R 环境后处理它们。您只是在尝试将 2 个字符串“绑定”在一起,因此出现错误。首先,您需要从 Excel 导入数据,您可以使用类似的方式来执行此操作:
test_df1 <- readxl::read_xlsx(path1)
test_df2 <- readxl::read_xlsx(path2)
然后你应该可以 运行:
test_df <- bind_rows(test_df1, test_df2)
更快的方法是使用 purrr
:
map
函数迭代该过程
test_df <- map_df(c(path1, path2), readxl::read_xlsx)