Код R: Как извлечь столбец из списка элементов и использовать его в качестве параметра для функций? - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть список из 9 элементов, называемых CCLF_Details. Каждый Tibble называется 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, я получаю

"Ошибка в fwf_widths (width): (список) объект не может быть приведен к типу "Двойной"

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

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

1 Ответ

0 голосов
/ 13 сентября 2018

Было просто исправить.Нужно использовать вместо sapply

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