Код r: как извлечь столбец из списка таблиц и использовать его в качестве параметра для функций?

У меня есть список из 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'"

При проверке «ширины» он утверждает, что это список таблиц с одним столбцом (и этот столбец является числовым) вместо списка числовых векторов.

Как я могу получить столбцы в формате, в котором я могу запустить список в качестве параметра для функции карты?

Вы можете заменить "[" на "[[", чтобы получить вектор вместо tibble.

aosmith 13.09.2018 19:56

Я пробовал это и все равно вернулся для меня. В конце концов я это починил.

user3304359 13.09.2018 20:11
0
2
67
1

Ответы 1

Было простое исправление. Вместо этого необходимо использовать саппли

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))

Другие вопросы по теме