У меня есть список из 9 таблиц под названием CCLF_Details. Каждый тиббл называется CCLF1_Details-CCLF9_Details. У меня есть столбцы «COLUMN_LABEL» и «COLUMN_WIDTH» в каждом тиббле. Я хочу использовать эти столбцы в качестве параметров для read_fwf.
Пока я сделал
width <- lapply(CCLF_details, "[","COLUMN_WIDTH", drop = FALSE)
label <- lapply(CCLF_details, "[","COLUMN_WIDTH", drop = FALSE)
но когда я запускаю его через read_fwf, я получаю
"Error in fwf_widths(width) : (list) object cannot be coerced to type 'double'"
При проверке «ширины» он утверждает, что это список таблиц с одним столбцом (и этот столбец является числовым) вместо списка числовых векторов.
Как я могу получить столбцы в формате, в котором я могу запустить список в качестве параметра для функции карты?
Я пробовал это и все равно вернулся для меня. В конце концов я это починил.
Было простое исправление. Вместо этого необходимо использовать саппли
width <- sapply(CCLF_details, "[","COLUMN_WIDTH", drop = FALSE)
label <- sapply(CCLF_details, "[","COLUMN_WIDTH", drop = FALSE)
Затем можно использовать его в качестве аргументов для read_fwf, используя
fwf_widths(widths = as.vector(width), col_names = as.vector(label))
Вы можете заменить
"["
на"[["
, чтобы получить вектор вместоtibble
.