我一直试图找到一种方法来迭代/循环大约290个结构很差的数据帧。它们包含相同的信息,但是一些列名略有不同,有些列是空白的(使用NA或“”)。我想迭代所有这些并删除列名称与特定部分字符串匹配的列(例如,所有列名以数字结尾)。如果需要,我还想更改列名。
我尝试过lapply,for循环等等,没有任何作用 - 我似乎无法找到正确的语法。
以下是我尝试使用grep / grepl进行lapply的示例:
lapply(file_list2, function(x) { x[!grepl("[0-9]")] <- NULL; x })
它返回以下错误:
Error in grepl("[0-9]") : argument "x" is missing, with no default
Called from: grepl("[0-9]")
file_list2是数据框名称列表(例如a11015DEC.csv
,a11715DEC.csv
,a12415DEC.csv
,a13115DEC.csv
,a21415DEC.csv
,a22115DEC.csv
,{ {1}},a22815DEC.csv
,a2715DEC.csv
...)
不幸的是,由于隐私问题,我无法发布实际数据。
字段(列名称)类似于以下内容 - 请注意有无关的列名称(例如X.1,X),它们可能在不同的数据帧之间略有不同:
a31415DEC.csv