从多个文件的多个Excel工作表中绑定指定数据

问题描述

我有多个 excel 文件,每个文件都有多个工作表。每个文件代表一个人。

对于每个单独的文件,我都这样做:

supdata = read_excel("K Data/K-ID-03.xlsx",sheet="Sup",skip = 2)
ID =  read_excel("K Data/K-ID-03.xlsx",sheet="Measurements",col_names = FALSE)

id =  as.character( ID[1,1])  # extract id numnber
mass = as.numeric(ID[3,5]) # extract mass data

supdata = supdata%>%
    mutate(ID = id,Mass = mass) # create column of id number and column of mass

生产:

supdata

var1 var2 var3 ID Mass
1    75   x    03 80
2    62   y    03 80
3    65   z    03 80
etc.

我想从所有文件的特定工作表中获取数据,在将它们与效果绑定在一起之前创建 idmass

var1 var2 var3 ID Mass
1    75   x    03 80
2    62   y    03 80
3    65   z    03 80
1    85   x    04 66
2    78   y    04 66
etc.

我想我需要做一个 for 循环或 lapply。这是我试过的:

path <- "K Data/"
l = list.files(path = path,"xlsx")

all = lapply(l,function(x){
  
  supdata = read_excel(x,sheet="Supervised",skip = 2)
  ID =  read_excel(x,col_names = FALSE)
  
  id =  as.character( ID[1,1])%>%
    str_replace("Participant ","")
  mass = as.numeric(ID[3,5])
  
  supdata = supdata%>%
    mutate(ID = id,Mass = mass)})

出现错误

Error: `path` does not exist: ‘Filename.xlsx’ 
5.
stop("`path` does not exist: ",sQuote(path),call. = FALSE) 
4.
check_file(path) 
3.
read_excel(x,sheet = "Supervised",skip = 2) 
2.
FUN(X[[i]],...) 
1.
lapply(l,function(x) {
    supdata = read_excel(x,skip = 2)
    ID = read_excel(x,sheet = "Measurements",col_names = FALSE)
    id = as.character(ID[1,1]) %>% str_replace("Participant ",... 

即使“Filename.xlsx”在 path 中定义的目录中。 l 正确列出了该路径中的文件

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)