我有一个因子表。现在,我想给特定行的每个因子加上一个数字。演示代码如下所示:
factor=table(now() as tradeTime,`600009 as secID,1.0 as factor1,2.0 as factor2,3.0 as
factor3,4.0 as factore4,5.0 as factor5)
for(i in factor.columnNames()){
if(left(i,6)!="factor")
continue
update!(factor, i, i + 10)
}
但是当我在DolphinDB GUI中运行这些脚本时,我得到一个错误:"新值的数据类型与列factor1的数据类型不匹配"。即使我将数字10改为10.0,错误仍然存在。有什么问题吗?
更新!(factor, i, i+10)其中i是字符串,i+10是字符串,而不是字段,因此可以更改为:
update!(factor, i, factor[i] + 10)
或
factor[i] = factor[i] + 10
或
update!(factor, i, expr(sqlCol(i), +, 10))