如何将单个参数函数应用于列表中所有数据框内的所有列

时间:2015-02-09 19:21:51

标签: r

说我有一个包含数据框dflistdf1的列表df2

df1 <- data.frame(VAR1 = letters[1:10], VAR2 = seq(1:10))
df2 <- data.frame(VAR3 = letters[11:20], VAR4 = seq(11:20))

dflist <- list(df1 = df1, df2 = df2)

通常,我想对列表中每个数据框中的每个变量应用单个参数函数。为了使问题更具体,请说我有兴趣将变量名称设置为小写。使用数据框范例,我只是这样做:

colnames(df1) <- tolower(colnames(df1))
colnames(df2) <- tolower(colnames(df2))

然而,当我在处理的20或30个数据帧中的每一个中都有数十个变量时,这变得令人望而却步,因此转向使用列表。

我知道这个问题源于我对*apply函数族的基本误解,但是我无法找到适用于比第一个次级更深层次的函数的例子。名单。感谢您的任何意见。

1 个答案:

答案 0 :(得分:1)

正如@akrun所说,答案很简单:

lapply(dflist, function(x) {colnames(x) <- tolower(colnames(x)); x })