我有一个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)
答案 0 :(得分:3)
在制作可重复的示例时发现了解决方案。问题是colnames
与colnames<-
不同。上述问题中的代码尝试从dflist的每个成员中检索列名称,并将列名称向量作为附加的不必要参数传递。可重现示例的最后一行如下:
lapply(dflist, `colnames<-`, newnames)