r - 在 lapply 中通过名称指定 col_type

标签 r multiple-columns lapply numeric

我正在使用 lapply 将多个文件从 Excel 读入 R。我刚刚注意到我的一些文件的 data 列被读取为 逻辑 而不是数字

我想使用 read_xlscol_types 参数,但我的文件具有不同的列数,因此想按名称调用它们。

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

file_list=list.files(file_location, pattern="^ID.*xls",full.names = T) 
import=lapply(file_list, function(x) read_xls(x, col_names = T))

最佳答案

您可以定义一个列表,其中包含要应用于每个传入 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

关于r - 在 lapply 中通过名称指定 col_type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51929462/

相关文章:

r - 可以像 Python 中的 *args 一样在 R 中迭代省略号吗?

javascript - 使用jquery使一行中的列高度相等

css - 是否可以在水平面上制作 CSS3 列?

regex - 替换 R 中第一次出现的 ":",但不替换第二次出现的

r - 根据两列的条件求平均值

r - 如何在R中获得abline的梯度

根据标题开始的位置将 CSV 读入 R

r - Microsoft R - 没有包找不到 RevoScaleR?

sql - 如何过滤相反的重复项

r - 使用 lapply() 查找因子变量的百分比