R 获取错误“;找不到函数“;分配<-&引用;colnames()的内部

R 获取错误“;找不到函数“;分配<-&引用;colnames()的内部,r,runtime-error,R,Runtime Error,我使用assign()从其他数据帧中分配一些新的数据帧。然后我想命名新数据框中的一些列。当我使用assign()创建新的数据帧时,效果很好。但是当我在colnames()的内部使用assign()时,会出现错误'error“找不到函数”assign您在Name中有一个变量名列表,您可以为其赋值(代码块) 然后您可以尝试(注意,为了调试目的,我将此代码块分隔开): for(i in 1:value){colnames(get(Names[i])@G5W我认为OP只是编写了新数据框,而不是整个ass

我使用assign()从其他数据帧中分配一些新的数据帧。然后我想命名新数据框中的一些列。当我使用assign()创建新的数据帧时,效果很好。但是当我在colnames()的内部使用assign()时,会出现错误'error“找不到函数”assign您在
Name
中有一个变量名列表,您可以为其赋值(代码块)

然后您可以尝试(注意,为了调试目的,我将此代码块分隔开):


for(i in 1:value){colnames(get(Names[i])@G5W我认为OP只是编写了
新数据框
,而不是整个
assign
行。这看起来像是一个经典的“我使用了一个糟糕的工具将自己编码到一个角落:
assign
”,但我不能真正告诉你足够多的大局图来帮助重构它,以避免使用
assign
    for(i in 1:value) {       
        assign(Name[i], Old.Data.Frame[Old.Data.Frame$1 == Index[i]]) #I'm going to call this line of code 'New Data Frame' for brevity
        for(j in 1:ncol(New Data Frame)) {
            colnames(New Data Frame)[j] = as.character(Old.Data.Frame[3,j])
for(i in 1:value) { assign(Name[i], Old.Data.Frame[Old.Data.Frame$1 == Index[i]]) }
for(i in 1:value) { colnames(get(Names[i])) <- as.character(Old.Data.Frame[3,] }