Я пытаюсь объединить несколько листов .xlsx в один файл данных в r, но извлекаю только последнюю строку каждого листа.
Я клинический академик, и в настоящее время у нас есть алгоритм прогнозирования, реализованный с помощью электронной таблицы Excel с поддержкой макросов. Эта электронная таблица с поддержкой макросов выводит лист .xlsx в предварительно указанную папку.
К сожалению, у него есть ряд тестовых строк, которые он вставил в выходной файл .xlsx. Кроме того, пользователи иногда вводят одни и те же данные несколько раз, пока они не станут правильными. По этой причине в очищенные данные мы хотели бы включить только последнюю строку каждого файла .xlsx.
Мне удалось объединить все файлы, используя приведенный ниже код, в основном благодаря помощи/коду, который мне удалось найти в этом сообществе.
К сожалению, я застрял в следующем сообщении об ошибке. Смотри ниже
library(plyr)
library(dplyr)
library(readxl)
#file directory where the .xlsx files are to be listed below path <- "//c:/documents"
filenames_list <- list.files(path= path, full.names=TRUE)
All_list <- lapply (filenames_list,
function(filename){
print(paste("Merging",filename,sep = " "))
read.xlsx(filename)
})
#this below code doesnt work
#it returns the following error
# Error in x[seq.int(to = xlen, length.out = n)] :
# object of type 'S4' is not subsettable
tail_only_list_df <- lapply (All_list,
function(newtail){
tail(newtail, 1)
})
final_df <- rbind.fill(tail_only_list_df)