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行。
(即使我使用列名初始化数据框,它也不起作用)
答案 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)