得到错误"无法找到功能"分配< - "在colnames()里面

时间:2017-06-12 22:03:54

标签: r runtime-error

我使用assign()从一些其他数据帧中分配一些新的数据帧。然后,我想要命名新数据框中的一些列。当我使用assign()来创建新的数据帧时,它工作正常。但是当我在colnames()中使用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])

我做了所有这些assign()的东西,因为旧数据框的名称不断变化,我可以在我的代码中创建任何具体的变量,只有框架的尺寸保持不变。

此代码中唯一的错误是R不能"在colnames中找到函数assign< - ..."。我感到慌乱,因为assign()刚刚在行中工作,任何帮助表示赞赏,谢谢!

1 个答案:

答案 0 :(得分:1)

您在Name中有一个变量名列表,您可以为其分配一个值(您的代码块)。

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,] }

get将检索分配给变量名Names[i](字符)的数据(data.frame)