Как сохранить все файлы Excel, импортированные как одинаковые, путем динамической проверки начального столбца R - PullRequest
0 голосов
/ 07 ноября 2018

Цель:

FP <- list.files(path ="xxx",pattern = "*.xlsx",full.names = TRUE)
DT <- rbindlist(lapply(FP,import,col_names = FALSE,col_types = "text"))

Проблемы: Необходимая область для импорта колеблется. «Мэри» всегда должна быть первой ячейкой, то есть первым столбцом и первой строкой.

e.g.

Excel_File_1: desired location is B2

   A     B    C     D
1      
2      Mary  F      apple
3      Paul  M      banana
4      Sam   M      meat
5      Jean  F      fish
6  1            

Excel_File_2: desired location is A1

   A     B    C     
1 Mary   F    apple
2 Paul   M    banana
3 Sam    M    meat
4 Jean   F    fish

Аналогичное решение (но не может работать с несколькими файлами)

DT <- import("/Excel_File_1.xlsx",col_names = FALSE,col_types = "text") 
# import
lx <- lapply(colnames(DT),function(x) grep("Mary",DT[,x])) 
# check where is "Mary"
DT <- DT[,which(lx > 0):ncol(DT)] 
# which() first encounter "Mary" column index : to end of column idex

Как этого добиться перед тем, как объединить все файлы в один объект?

...