如何初始化空数据框并在R中添加列

时间:2015-08-21 08:26:34

标签: r dataframe

dummify = function (listOfSmbin, df) {
    dummified = list(NULL)
    #for all columns
for (col in colnames) {
    #generate dummified column
    dummified[col] = smbinning.gen(df[col], listOfSmbin[col], col)
    }
return(dummified)
}

我想逐个添加n * 1个形状的数据帧。

为了做到这一点,我需要在进入for循环之前先初始化一个空数据帧。

但是,当我初始化空数据帧时,我无法添加具有1行或更多行的列,因为初始化数据帧有0行。

(即使我使用列名初始化数据框,它也不起作用)

1 个答案:

答案 0 :(得分:0)

什么类型的对象smbinning.gen作为输入是不明确的,如果前两个可以是向量,则以下代码应该起作用;如果将data.frames作为输入,则使用smbinning.gen(as.data.frame(var1), as.data.frame(var2), colName)

dummified <- Map(function(var1, var2, colName){ 
        smbinning.gen(var1, var2, colName)
    }, df, listOfSmbin, colnames)
dummified <- as.data.frame(dummified)