lapply和colnames在'x&&中产生无效的'y'类型y'错误

时间:2016-06-30 17:50:49

标签: r lapply

我有一个data.frames列表。我想获取一个字符向量,并将其值用作列表中所有data.frames中的列名。当我尝试使用lapply时,我收到以下错误:

Error in is.data.frame(x) && do.NULL : invalid 'y' type in 'x && y'

这是一个可重复的例子:

x = 1:5
y = 6:10
z = 11:15
newnames = c("Var1", "Var2")
dflist = list("df1" = cbind.data.frame(x,y), "df2" = cbind.data.frame(x,z))
str(dflist)
lapply(dflist, colnames, newnames)

1 个答案:

答案 0 :(得分:3)

在制作可重复的示例时发现了解决方案。问题是colnamescolnames<-不同。上述问题中的代码尝试从dflist的每个成员中检索列名称,并将列名称向量作为附加的不必要参数传递。可重现示例的最后一行如下:

lapply(dflist, `colnames<-`, newnames)