- library(data.table)
- dt_all = data.table(ID = 1:100, key = 'ID')
- for(i in 1:100) {
- dt_part = data.table(ID = sample(1:100, 80), value = rnorm(80), key = 'ID')#how to change the colname 'value' to 'value1', 'value2', ..., 'value100'
- dt_all = merge(dt_all, dt_part, by = ID)
- }
如代码所示,希望在定义数据框时可以将列名进行循环定义,这样merge之后每次循环的列名有不同,才不会出错。虽然可以在定义dt_part之后强行加一行names(dt_part)[2] = paste('value', i, sep = ''),但还是想知道能否在定义数据框时即实现循环定义列名tag.不仅省一行代码,也能加快运行速度。谢谢!


雷达卡



京公网安备 11010802022788号







