在lapply中通过名称指定col_type

时间:2018-08-20 11:09:04

标签: r multiple-columns lapply numeric

我正在使用lapply从Excel中将多个文件读入R。我刚刚注意到我的某些文件中的data列被读为logical,而不是numeric

我想使用col_types的{​​{1}}参数,但是我的文件具有不同的列数,因此想按名称进行调用。

有人知道我该怎么做吗? 这是我目前导入数据的方式:

read_xls

1 个答案:

答案 0 :(得分:2)

您可以定义一个列表,其中包含要应用于每个传入Excel文件的各种col_type向量。然后,将lapply与索引一起使用,以访问这些格式向量:

cols <- list(c("logical", "numeric", "text"), c("logical", "numeric"))

lapply(seq_along(file_list), function(y, n, i) {
    read_xls(x, col_names=TRUE, col_types=cols[[i]])
}, y=file_list, n=names(file_list))

点击下面的链接,获得一个演示基本前提的小演示。

Demo